diff --git a/rules/preprocessing.smk b/rules/preprocessing.smk index f642670d..1533f72e 100644 --- a/rules/preprocessing.smk +++ b/rules/preprocessing.smk @@ -259,7 +259,8 @@ rule extract_event_information_from_esm: stage = "extract", pid = "{pid}" output: - "data/raw/ers/{pid}_ers.csv" + "data/raw/ers/{pid}_ers.csv", + "data/raw/ers/{pid}_stress_event_targets.csv" script: "../src/features/phone_esm/straw/process_user_event_related_segments.py" diff --git a/src/features/phone_esm/straw/process_user_event_related_segments.py b/src/features/phone_esm/straw/process_user_event_related_segments.py index fd0e8b6f..c2569a3b 100644 --- a/src/features/phone_esm/straw/process_user_event_related_segments.py +++ b/src/features/phone_esm/straw/process_user_event_related_segments.py @@ -30,6 +30,9 @@ def extract_ers_from_file(esm_df, device_id): with open('config.yaml', 'r') as stream: config = yaml.load(stream, Loader=yaml.FullLoader) + + pd.DataFrame().to_csv(snakemake.output[1]) # Create an empty stress event file either way + esm_preprocessed = clean_up_esm(preprocess_esm(esm_df)) @@ -69,13 +72,19 @@ def extract_ers_from_file(esm_df, device_id): extracted_ers["shift"] = extracted_ers["diffs"].apply(lambda x: format_timestamp(x)) elif targets_method == "stress_event": - pass + + pd.DataFrame().to_csv(snakemake.output[1]) + + # TODO: generiranje ERS datoteke za stress_events # VV Testiranje različnih povpraševanj za VV # print(esm_df[esm_df.questionnaire_id == 87]) # filter_esm = esm_df[(esm_df.esm_type == 7) & ((esm_df.questionnaire_id == 90.) | (esm_df.questionnaire_id == 91.))][['questionnaire_id', 'esm_user_answer', 'esm_session']] # print(filter_esm[filter_esm.esm_user_answer == "1 - Še vedno traja"].shape) # print(filter_esm.shape) + # TODO: generiranje stress_events_targets datoteke (dodaj tudi stolpec s pid) + dodati moraš merge metodo, ki bo združila te datoteke + # TODO: na koncu se mora v čistilni skripti ustrezno odstraniti vse targete in prilepiti nove targete zraven ustreznih segmentov (zna se zgoditi, da bodo overlap) + else: raise Exception("Please select correct target method for the event-related segments.") extracted_ers = pd.DataFrame(columns=["label", "event_timestamp", "length", "shift", "shift_direction", "device_id"])