From 5b567c9549907032b1c97b0f5babfde41e7f803e Mon Sep 17 00:00:00 2001 From: Sandeep Date: Wed, 27 Mar 2024 16:47:55 +0100 Subject: [PATCH 1/2] Fix the pandas errors. Add uuid_event,uuid_obs functions from mapper --- DAHCC/create_graph.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/DAHCC/create_graph.py b/DAHCC/create_graph.py index 67c2f19..e10fde7 100644 --- a/DAHCC/create_graph.py +++ b/DAHCC/create_graph.py @@ -4,7 +4,7 @@ from glob import glob import datetime import numpy as np -from mapper import map_value, generate_event_uuid, generate_obs_uuid +from typing import Tuple from tqdm import tqdm ################## @@ -55,6 +55,22 @@ def generate_wearable_uuid(wearable, part): uuid_wearable_map[part][wearable] += 1 return 'https://dahcc.idlab.ugent.be/Protego/'+part+'/'+wearable+'/state'+str(result) +uuid_event_map = {} +def generate_event_uuid(part :str)-> Tuple[str, str]: + if part not in uuid_event_map: + uuid_event_map[part] = 0 + result = uuid_event_map[part] + uuid_event_map[part] += 1 + return 'https://dahcc.idlab.ugent.be/Protego/'+part+'/state'+str(uuid_event_map[part]), 'https://dahcc.idlab.ugent.be/Protego/'+part+'/state'+str(result) + +uuid_obs_map = {} +def generate_obs_uuid(part:str) -> str: + if part not in uuid_obs_map: + uuid_obs_map[part] = 0 + result = uuid_obs_map[part] + uuid_obs_map[part] += 1 + return 'https://dahcc.idlab.ugent.be/Protego/'+part+'/state'+str(result) + aqura_conv = {'Badkamer zorgkamer': 'careroom', 'Zorgkamer': 'careroom', 'Hall beneden schuifdeur': 'mainhall', @@ -189,7 +205,7 @@ def map_value(value, metric_id): def create_event(ff, part, time, begin_event, preds): ff = ff[ff.Sensor != "velbus.B8.EnergyMeter3"] - ff['Metric'] = ff['Metric'].replace(['org.dyamand.aqura.AquraLocationState_Protego User'],'org.dyamand.aqura.AquraLocationState_Protego_User') + ff = ff.replace({'Metric':{'org.dyamand.aqura.AquraLocationState_Protego User':'org.dyamand.aqura.AquraLocationState_Protego_User'}}) activities = set() for sublist in ff.label.values: for item in sublist: @@ -418,7 +434,7 @@ def create_event(ff, part, time, begin_event, preds): gr_df = df.groupby(['Sensor', 'Metric']).resample("30s")['Value'].apply(combine).ffill().reset_index() gr_df = gr_df[gr_df["Metric"].str.contains("mqtt") == False] - gr_df = gr_df.set_index('Timestamp') + gr_df = gr_df.set_index('Timestamp').sort_index() gr_df['label'] = [set() for i in range(len(gr_df))] gr_df['routine'] = [set() for i in range(len(gr_df))] for i, row in lf.iterrows(): @@ -426,7 +442,7 @@ def create_event(ff, part, time, begin_event, preds): gr_df.loc[str(row.start_time):str(row.end_time), 'routine'].apply(lambda x: x.add(row.ontology_routine)) gr_df.label = gr_df.label.apply(lambda x: x if len(x) > 0 else ['Unknown']) - gr_df.ontology_routine = gr_df.routine.apply(lambda x: x if len(x) > 0 else ['Unknown']) + gr_df['ontology_routine'] = gr_df.routine.apply(lambda x: x if len(x) > 0 else ['Unknown']) gr_df = gr_df.dropna() gr_df = gr_df.sort_index() From eeef6861d8c8193cd79b3984c5d31442a2ee4c87 Mon Sep 17 00:00:00 2001 From: Sandeep Date: Tue, 9 Apr 2024 09:27:43 +0200 Subject: [PATCH 2/2] starting