def data_combiner(n_actions: int, subject_ids: list, n_takes: int, modalities: list, skeleton_pose_model: str):
    'Combines skeleton point information for all actions, all takes, given list of subject ids and given list of\n    modalities.\n\n        Args:\n            n_actions: Total number of actions in the original dataset.\n            subject_ids: List of subjects in the current set.\n            n_takes: Total number of takes in the original dataset.\n            modalities: Current combination of modalities.\n            skeleton_pose_model: Current skeleton pose model name which will be used to import skeleton point\n                                 information.\n\n        Returns:\n            A pandas dataframe which contains combined skeleton point information for all actions, all takes, given list\n            of subject ids and given list of modalities.\n    '
    combined_modality_skeleton_information = pd.DataFrame()
    for i in range(1, (n_actions + 1)):
        for j in range(len(subject_ids)):
            for k in range(1, (n_takes + 1)):
                data_name = 'a{}_s{}_t{}'.format(i, subject_ids[j], k)
                try:
                    current_data_name_modality_information = pd.read_csv('../data/normalized_data/{}/{}_{}.csv'.format(modalities[0], data_name, skeleton_pose_model))
                except FileNotFoundError:
                    continue
                if (len(modalities) != 1):
                    for m in range(1, len(modalities)):
                        current_skeleton_point_information = pd.read_csv('../data/normalized_data/{}/{}_{}.csv'.format(modalities[m], data_name, skeleton_pose_model))
                        current_data_name_modality_information = pd.merge(current_data_name_modality_information, current_skeleton_point_information, on='frame', how='outer')
                current_data_name_modality_information['data_name'] = [data_name for _ in range(len(current_data_name_modality_information))]
                current_data_name_modality_information = current_data_name_modality_information.drop(columns=['frame'])
                current_data_name_modality_information['action'] = [i for _ in range(len(current_data_name_modality_information))]
                combined_modality_skeleton_information = combined_modality_skeleton_information.append(current_data_name_modality_information)
    return combined_modality_skeleton_information
Combines skeleton point information for all actions, all takes, given list of subject ids and given list of
modalities.

    Args:
        n_actions: Total number of actions in the original dataset.
        subject_ids: List of subjects in the current set.
        n_takes: Total number of takes in the original dataset.
        modalities: Current combination of modalities.
        skeleton_pose_model: Current skeleton pose model name which will be used to import skeleton point
                             information.

    Returns:
        A pandas dataframe which contains combined skeleton point information for all actions, all takes, given list
        of subject ids and given list of modalities.
def data_combiner(n_actions: int, subject_ids: list, n_takes: int, modalities: list, skeleton_pose_model: str):
    'Combines skeleton point information for all actions, all takes, given list of subject ids and given list of\n    modalities.\n\n        Args:\n            n_actions: Total number of actions in the original dataset.\n            subject_ids: List of subjects in the current set.\n            n_takes: Total number of takes in the original dataset.\n            modalities: Current combination of modalities.\n            skeleton_pose_model: Current skeleton pose model name which will be used to import skeleton point\n                                 information.\n\n        Returns:\n            A pandas dataframe which contains combined skeleton point information for all actions, all takes, given list\n            of subject ids and given list of modalities.\n    '
    combined_modality_skeleton_information = pd.DataFrame()
    for i in range(1, (n_actions + 1)):
        for j in range(len(subject_ids)):
            for k in range(1, (n_takes + 1)):
                data_name = 'a{}_s{}_t{}'.format(i, subject_ids[j], k)
                try:
                    current_data_name_modality_information = pd.read_csv('../data/normalized_data/{}/{}_{}.csv'.format(modalities[0], data_name, skeleton_pose_model))
                except FileNotFoundError:
                    continue
                if (len(modalities) != 1):
                    for m in range(1, len(modalities)):
                        current_skeleton_point_information = pd.read_csv('../data/normalized_data/{}/{}_{}.csv'.format(modalities[m], data_name, skeleton_pose_model))
                        current_data_name_modality_information = pd.merge(current_data_name_modality_information, current_skeleton_point_information, on='frame', how='outer')
                current_data_name_modality_information['data_name'] = [data_name for _ in range(len(current_data_name_modality_information))]
                current_data_name_modality_information = current_data_name_modality_information.drop(columns=['frame'])
                current_data_name_modality_information['action'] = [i for _ in range(len(current_data_name_modality_information))]
                combined_modality_skeleton_information = combined_modality_skeleton_information.append(current_data_name_modality_information)
    return combined_modality_skeleton_information