adicion de microbiota

parent 335d3cdb
......@@ -5,17 +5,8 @@ import plotly.express as px
import requests
import numpy as np
# fuentes de datos
# algunos parámetros globales
url = 'https://nutricion.c3.unam.mx/nd/'
data_o = (
pd.read_csv("inventario.csv")
)
data_o["paciente"] = data_o["paciente"].astype("str") + "_p"
data_o["Secuenciaciones"] = 0
# datos globales
Visitas_e = 4
Etapas_e = 3
Comidas_E1_e = 42
......@@ -33,6 +24,34 @@ esperados = {
"tolerancia": 3
}
def get_visit_data(visitnumber):
url_visitas = url + "/visits/" + str(visitnumber) + "/patients-data/"
yaisons = requests.get(url_visitas).json()["patient_data"]
df = pd.json_normalize(yaisons)
df.drop(["tolerance_curve_measure","id","name","patient_visit_id", "visit_date"], inplace=True, axis=1)
lista = [ { cf["controlled_food"]: cf["increment_auc"] for cf in yaison["tolerance_curve_measure"] } for yaison in yaisons ]
df.rename(columns= lambda x: x.split(".")[1] if "." in x else x, inplace=True)
#df.drop(["patient_visit_id"], inplace=True, axis=0) #esta etiqueta aparece dos veces: dentro del primer nivel de json y dentro del json de sample
return pd.concat([df, pd.DataFrame(lista)], axis=1)
# fuentes de datos
# consulta online a la API para las visitas, que proporcionan la info de
# visitas y microbiota
visitas_datos = [ get_visit_data(visita) for visita in range(1, Visitas_e + 1)]
print(visitas_data[0].columns
# la info de glucómetro y comidas es más compleja. por el momento, se estab armando
# la info offline.
data_o = (
pd.read_csv("inventario.csv")
)
data_o["paciente"] = data_o["paciente"].astype("str") + "_p"
data_o["Secuenciaciones"] = 0
Total_pacientes = len(data_o.index)
data = data_o.loc[data_o["incluido"]]
Total_incluidos = len(data)
......@@ -372,7 +391,7 @@ def update_charts(etapaSel,min_comidas, min_glucosa, medidaDet, etapaDet, visita
# microbiota_data = data.query("MT >= @min_microbiota")
visitas_data = data.query("Nvisitas >= 4")
microbiota_data = visitas_datos[etapaSel-1]["patient_visit_id"].count()
multi = go.Figure()
......@@ -400,7 +419,7 @@ def update_charts(etapaSel,min_comidas, min_glucosa, medidaDet, etapaDet, visita
multi.add_trace(go.Indicator(
value = 100 * len(microbiota_data.index) / Total_incluidos,
value = 100 * microbiota_data / Total_incluidos,
# value = min_microbiota,
domain = {'x': [0.25, 1], 'y': [0.6, 0.7]},
title = {'text': "Microbiota"},
......
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