Update app.py
Browse files
app.py
CHANGED
@@ -267,7 +267,7 @@ Fecha: {datetime.now().strftime('%d/%m/%Y %H:%M')}
|
|
267 |
"""
|
268 |
return informe, evaluacion['estado']
|
269 |
|
270 |
-
def actualizar_analisis(df, n_replicas, unidad_medida, absorbancia_blanco):
|
271 |
if df is None or df.empty:
|
272 |
return "Error en los datos", None, "No se pueden generar an谩lisis", df
|
273 |
|
@@ -277,6 +277,12 @@ def actualizar_analisis(df, n_replicas, unidad_medida, absorbancia_blanco):
|
|
277 |
df[col_real] = pd.to_numeric(df[col_real], errors='coerce')
|
278 |
df[col_real] = df[col_real] - absorbancia_blanco
|
279 |
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
# Calcular promedio y desviaci贸n est谩ndar dependiendo de las r茅plicas
|
281 |
df = calcular_promedio_desviacion(df, n_replicas, unidad_medida)
|
282 |
|
@@ -601,6 +607,9 @@ with gr.Blocks(theme=gr.themes.Soft()) as interfaz:
|
|
601 |
ejemplo_od_btn = gr.Button("馃搵 Cargar Ejemplo OD", variant="secondary")
|
602 |
sinteticos_btn = gr.Button("馃И Generar Datos Sint茅ticos", variant="secondary")
|
603 |
|
|
|
|
|
|
|
604 |
tabla_output = gr.DataFrame(
|
605 |
wrap=True,
|
606 |
label="Tabla de Datos",
|
@@ -678,7 +687,7 @@ with gr.Blocks(theme=gr.themes.Soft()) as interfaz:
|
|
678 |
# Evento al presionar el bot贸n Calcular
|
679 |
calcular_btn.click(
|
680 |
fn=actualizar_analisis,
|
681 |
-
inputs=[tabla_output, replicas_slider, unidad_input, absorbancia_blanco_input],
|
682 |
outputs=output_components
|
683 |
)
|
684 |
|
@@ -817,4 +826,4 @@ with gr.Blocks(theme=gr.themes.Soft()) as interfaz:
|
|
817 |
|
818 |
# Lanzar la interfaz
|
819 |
if __name__ == "__main__":
|
820 |
-
interfaz.launch()
|
|
|
267 |
"""
|
268 |
return informe, evaluacion['estado']
|
269 |
|
270 |
+
def actualizar_analisis(df, n_replicas, unidad_medida, absorbancia_blanco, *replicas):
|
271 |
if df is None or df.empty:
|
272 |
return "Error en los datos", None, "No se pueden generar an谩lisis", df
|
273 |
|
|
|
277 |
df[col_real] = pd.to_numeric(df[col_real], errors='coerce')
|
278 |
df[col_real] = df[col_real] - absorbancia_blanco
|
279 |
|
280 |
+
# Actualizar los valores de las r茅plicas desde los cuadros de texto
|
281 |
+
for i, replica in enumerate(replicas):
|
282 |
+
if replica is not None:
|
283 |
+
col_real = f"Concentraci贸n Real {i + 1} ({unidad_medida})"
|
284 |
+
df.at[0, col_real] = replica
|
285 |
+
|
286 |
# Calcular promedio y desviaci贸n est谩ndar dependiendo de las r茅plicas
|
287 |
df = calcular_promedio_desviacion(df, n_replicas, unidad_medida)
|
288 |
|
|
|
607 |
ejemplo_od_btn = gr.Button("馃搵 Cargar Ejemplo OD", variant="secondary")
|
608 |
sinteticos_btn = gr.Button("馃И Generar Datos Sint茅ticos", variant="secondary")
|
609 |
|
610 |
+
with gr.Row():
|
611 |
+
replica_inputs = [gr.Textbox(label=f"R茅plica {i + 1}") for i in range(10)]
|
612 |
+
|
613 |
tabla_output = gr.DataFrame(
|
614 |
wrap=True,
|
615 |
label="Tabla de Datos",
|
|
|
687 |
# Evento al presionar el bot贸n Calcular
|
688 |
calcular_btn.click(
|
689 |
fn=actualizar_analisis,
|
690 |
+
inputs=[tabla_output, replicas_slider, unidad_input, absorbancia_blanco_input, *replica_inputs],
|
691 |
outputs=output_components
|
692 |
)
|
693 |
|
|
|
826 |
|
827 |
# Lanzar la interfaz
|
828 |
if __name__ == "__main__":
|
829 |
+
interfaz.launch()
|