Commit 4fe5b297 by Itzel Camacho

Arregle que la glucosa de algunos pacientes no salia, ya salen la de todos los…

Arregle que la glucosa de algunos pacientes no salia, ya salen la de todos los pacientes que deberían
parent ec2ff7ee
...@@ -269,6 +269,9 @@ comidas["iAUC"] = comidas["post-AUC"] - comidas["pre-AUC"] * 2 ...@@ -269,6 +269,9 @@ comidas["iAUC"] = comidas["post-AUC"] - comidas["pre-AUC"] * 2
df_total = pd.read_csv("test.csv") df_total = pd.read_csv("test.csv")
df_total = df_total[df_total["etapas"] == "e1"] df_total = df_total[df_total["etapas"] == "e1"]
id_patients = set(range(30,217))
ids_presentes = set(df_total['patient'])
ids_faltantes = list(id_patients - ids_presentes)
df_total['FH_salto'] = pd.to_datetime(df_total['FH_salto']) df_total['FH_salto'] = pd.to_datetime(df_total['FH_salto'])
df_total['FH_reportada'] = pd.to_datetime(df_total['FH_reportada']) df_total['FH_reportada'] = pd.to_datetime(df_total['FH_reportada'])
df_total['FH_foto'] = pd.to_datetime(df_total['FH_foto']) df_total['FH_foto'] = pd.to_datetime(df_total['FH_foto'])
...@@ -382,7 +385,7 @@ app.layout = html.Div(children=[ ...@@ -382,7 +385,7 @@ app.layout = html.Div(children=[
Input('rango', 'value')], Input('rango', 'value')],
) )
def update_graph(selected_pat, rango_str): def update_graph(selected_pat, rango_str):
if selected_pat not in df_total['patient']: if selected_pat in ids_faltantes:
return go.Figure() return go.Figure()
if not selected_pat or not rango_str: if not selected_pat or not rango_str:
return {} return {}
...@@ -391,6 +394,8 @@ def update_graph(selected_pat, rango_str): ...@@ -391,6 +394,8 @@ def update_graph(selected_pat, rango_str):
glucosa = readGlucosa(selected_pat) glucosa = readGlucosa(selected_pat)
visita = readVisitas(1) visita = readVisitas(1)
fecha_visita1 = pd.to_datetime(visita.loc[visita['id'] == selected_pat, 'visit_date'].iloc[0]) fecha_visita1 = pd.to_datetime(visita.loc[visita['id'] == selected_pat, 'visit_date'].iloc[0])
if glucosa.empty:
return go.Figure()
filtered_glucosa = glucosa[(glucosa['date_time'] >= fecha_visita1) & filtered_glucosa = glucosa[(glucosa['date_time'] >= fecha_visita1) &
(glucosa['date_time'] <= fecha_visita1 + pd.Timedelta(days=15))] (glucosa['date_time'] <= fecha_visita1 + pd.Timedelta(days=15))]
...@@ -403,12 +408,12 @@ def update_graph(selected_pat, rango_str): ...@@ -403,12 +408,12 @@ def update_graph(selected_pat, rango_str):
mode='lines', mode='lines',
name='Glucosa paciente visita 1')) name='Glucosa paciente visita 1'))
fig.update_layout(yaxis=dict(range=[50,200])) fig.update_layout(yaxis=dict(range=[50,200]))
y_foods = np.interp(patient_foods['FH_reportada'], glucosa['date_time'], glucosa['value']) # interpolar fecha de las comidas con glucosa y_foods = np.interp(patient_foods['FH_reportada'], (glucosa['date_time']), glucosa['value']) # interpolar fecha de las comidas con glucosa
distancias = abs((patient_foods['FH_salto'] - patient_foods['FH_reportada']).dt.total_seconds()) / 60 distancias = abs((patient_foods['FH_salto'] - patient_foods['FH_reportada']).dt.total_seconds()) / 60
distancias_df = pd.concat([distancias,patient_foods['FH_reportada'], patient_foods['FH_foto']], axis=1, ignore_index=True) distancias_df = pd.concat([distancias,patient_foods['FH_reportada'], patient_foods['FH_foto']], axis=1, ignore_index=True)
distancias_df.columns = ['Distancia','FH_reportada', 'FH_foto'] distancias_df.columns = ['Distancia','FH_reportada', 'FH_foto']
y_foto = np.interp(pd.to_numeric(patient_foods['FH_foto']), pd.to_numeric(glucosa['date_time']), # interpolar fecha de la foto con glucosa y_foto = np.interp(patient_foods['FH_foto'], glucosa['date_time'], # interpolar fecha de la foto con glucosa
glucosa['value']) glucosa['value'])
# valores del dropdown y separarlos para convertirlos en una lista # valores del dropdown y separarlos para convertirlos en una lista
...@@ -426,8 +431,8 @@ def update_graph(selected_pat, rango_str): ...@@ -426,8 +431,8 @@ def update_graph(selected_pat, rango_str):
fotos_wfoods = distancias_rango.set_index('FH_reportada')['FH_foto'] fotos_wfoods = distancias_rango.set_index('FH_reportada')['FH_foto']
if distancias_rango.empty: if distancias_rango.empty:
return fig return fig
y_distancias = np.interp(pd.to_numeric(distancias_rango['FH_reportada']), pd.to_numeric(glucosa['date_time']), glucosa['value']) #interpolar la fecha de las distancias con glucosa y_distancias = np.interp(distancias_rango['FH_reportada'], glucosa['date_time'], glucosa['value']) #interpolar la fecha de las distancias con glucosa
y_foto_wfood = np.interp(pd.to_numeric(fotos_wfoods.values), pd.to_numeric(glucosa['date_time']), glucosa['value']) y_foto_wfood = np.interp(fotos_wfoods.values, glucosa['date_time'], glucosa['value'])
fig.add_trace(go.Scatter(x=distancias_rango['FH_reportada'], fig.add_trace(go.Scatter(x=distancias_rango['FH_reportada'],
y=y_distancias, y=y_distancias,
mode='markers', mode='markers',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment