def get_single_year_data_subset()

in sig-contributor-experience/surveys/k8s_survey_analysis/plot_utils.py [0:0]


def get_single_year_data_subset(survey_data, topic, facet_by=[]):
    """Get appropriate data for single-year plots and convert it to long form

    Args:
        survey_data (pandas.DataFrame): Raw data read in from Kubernetes Survey   
        topic (str): String that all questions of interest start with 
        facet_by (list, optional): List of columns use for grouping

    Returns:
        (pandas.DataFrame): Long dataframe 

    """
    topic_data = get_data_subset(survey_data, topic, facet_by)

    if facet_by:
        if "." in facet_by:
            facet_by.remove(".")
            topic_data_long = make_long(topic_data, facet_by)
            facet_by.append(".")
        else:
            topic_data_long = make_long(topic_data, facet_by)
    else:

        topic_data_long = (
            topic_data.unstack().reset_index().rename(columns={0: "rating"})
        )
        topic_data_long = topic_data_long.assign(
            level_0=pd.Categorical(topic_data_long.level_0, ordered=True)
        )

    return topic_data_long