| # Import libraries | |
| import functools as ft | |
| import pandas as pd | |
| # Set file paths | |
| file_path = '<YOUR_DATA_PATH>/' | |
| input_file_path = file_path + 'data_for_model_e_columns/' | |
| def read_data(file): | |
| """ | |
| Read in data source | |
| -------- | |
| :param file: string filename | |
| :return: dataframe | |
| """ | |
| df = pd.read_csv(file) | |
| return df | |
| def main(): | |
| # Read in data | |
| RC_SU1_IDs_file = input_file_path + "RC_SU1_IDs.csv" | |
| steps_file = input_file_path + "step_groupings.csv" | |
| hr_file = input_file_path + "hr_groupings.csv" | |
| awake_asleep_file = input_file_path + "awake_asleep_groupings.csv" | |
| steps_2000_file = input_file_path + "steps_2000.csv" | |
| RC_SU1_IDs = read_data(RC_SU1_IDs_file) | |
| Steps = read_data(steps_file) | |
| hr_file = read_data(hr_file) | |
| awake_asleep = read_data(awake_asleep_file) | |
| steps_2000 = read_data(steps_2000_file) | |
| # Merge groupings columns and RC_IDs | |
| dfs = [RC_SU1_IDs, Steps, hr_file, awake_asleep, steps_2000] | |
| df_final = ft.reduce(lambda left, right: pd.merge(left, right, on='Study_ID', how="outer"), dfs) | |
| # Save this dataframe as a csv file | |
| df_final.to_csv(file_path + 'Fitbit_groups.csv') | |
| main() |