in sig-contributor-experience/surveys/k8s_survey_analysis/plot_utils.py [0:0]
def make_long(data, facets, multi_year=False):
"""Converts a wide dataframe with columns for each topic's rating into a long dataframe
Args:
data (pandas.DataFrame): A wide dataframe
facets (list): List of columns to keep as their own column
mulit_year (bool, optional) Defaults to False. If True, add the "year" column to the list of facets
Returns:
(pandas.DataFrame): Long dataframe
"""
facets = copy(facets)
if multi_year:
facets.append("year")
long_data = data.set_index(facets, append=True).stack().reset_index()
# Rename so Level_0 always has the values of the topic we are interested in
long_data = long_data.rename(
columns={
"level_0": "level_1",
"level_4": "level_0",
"level_3": "level_0",
"level_2": "level_0",
0: "rating",
}
)
long_data = long_data.assign(
level_0=pd.Categorical(long_data.level_0, ordered=True)
)
return long_data