@staticmethod
def extract_demographics(data_df):
    """ Extracts demographic information (age, gender, education, affinity, experience) from
        a given dataset if the corresponding columns are available.

        Parameters
        ----------
        data_df : pd.DataFrame
            Dataframe to extract demographic information from.

        Returns
        -------
        dict(str, object)
            Dictionary containing demographic information.

        """
    demographics = {}
    demo_data = ['age', 'gender', 'education', 'affinity', 'experience']
    for data in demo_data:
        if data in data_df.columns:
            demographics[data] = data_df[data].unique().tolist()
            if len(demographics[data]) == 1:
                demographics[data] = demographics[data][0]
    return demographics
