Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -42,6 +42,9 @@ def generar_tabla(n_filas, concentracion_inicial, unidad_medida, n_replicas):
|
|
42 |
for i in range(1, n_replicas + 1):
|
43 |
df[f"Concentración Real {i} ({unidad_medida})"] = None
|
44 |
|
|
|
|
|
|
|
45 |
# Las columnas de promedio y desviación estándar se agregarán durante el análisis
|
46 |
return df
|
47 |
|
@@ -283,6 +286,10 @@ def actualizar_analisis(df, n_replicas, unidad_medida):
|
|
283 |
|
284 |
df_valid = df.dropna(subset=[col_predicha_num, col_real_promedio])
|
285 |
|
|
|
|
|
|
|
|
|
286 |
if len(df_valid) < 2:
|
287 |
return "Se necesitan más datos", None, "Se requieren al menos dos valores reales para el análisis", df
|
288 |
|
@@ -324,6 +331,10 @@ def actualizar_graficos(df, n_replicas, unidad_medida,
|
|
324 |
|
325 |
df_valid = df.dropna(subset=[col_predicha_num, col_real_promedio])
|
326 |
|
|
|
|
|
|
|
|
|
327 |
if len(df_valid) < 2:
|
328 |
return None
|
329 |
|
@@ -441,6 +452,10 @@ def exportar_word(df, informe_md, unidad_medida):
|
|
441 |
|
442 |
df_valid = df_valid.dropna(subset=[col_predicha_num, col_real_promedio])
|
443 |
|
|
|
|
|
|
|
|
|
444 |
if df_valid.empty:
|
445 |
return None
|
446 |
|
@@ -459,6 +474,10 @@ def exportar_latex(df, informe_md):
|
|
459 |
|
460 |
df_valid = df_valid.dropna(subset=[col_predicha_num, col_real_promedio])
|
461 |
|
|
|
|
|
|
|
|
|
462 |
if df_valid.empty:
|
463 |
return None
|
464 |
|
@@ -531,6 +550,15 @@ def actualizar_tabla_evento(df, n_filas, concentracion, unidad, n_replicas):
|
|
531 |
if idx in df.index:
|
532 |
df_new.at[idx, col_new] = df.at[idx, col_old]
|
533 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
534 |
return df_new
|
535 |
|
536 |
def cargar_excel(file):
|
|
|
42 |
for i in range(1, n_replicas + 1):
|
43 |
df[f"Concentración Real {i} ({unidad_medida})"] = None
|
44 |
|
45 |
+
# Añadir columna para incluir o excluir filas
|
46 |
+
df["Incluir"] = True
|
47 |
+
|
48 |
# Las columnas de promedio y desviación estándar se agregarán durante el análisis
|
49 |
return df
|
50 |
|
|
|
286 |
|
287 |
df_valid = df.dropna(subset=[col_predicha_num, col_real_promedio])
|
288 |
|
289 |
+
# Filtrar filas según la columna "Incluir"
|
290 |
+
if 'Incluir' in df_valid.columns:
|
291 |
+
df_valid = df_valid[df_valid['Incluir'] == True]
|
292 |
+
|
293 |
if len(df_valid) < 2:
|
294 |
return "Se necesitan más datos", None, "Se requieren al menos dos valores reales para el análisis", df
|
295 |
|
|
|
331 |
|
332 |
df_valid = df.dropna(subset=[col_predicha_num, col_real_promedio])
|
333 |
|
334 |
+
# Filtrar filas según la columna "Incluir"
|
335 |
+
if 'Incluir' in df_valid.columns:
|
336 |
+
df_valid = df_valid[df_valid['Incluir'] == True]
|
337 |
+
|
338 |
if len(df_valid) < 2:
|
339 |
return None
|
340 |
|
|
|
452 |
|
453 |
df_valid = df_valid.dropna(subset=[col_predicha_num, col_real_promedio])
|
454 |
|
455 |
+
# Filtrar filas según la columna "Incluir"
|
456 |
+
if 'Incluir' in df_valid.columns:
|
457 |
+
df_valid = df_valid[df_valid['Incluir'] == True]
|
458 |
+
|
459 |
if df_valid.empty:
|
460 |
return None
|
461 |
|
|
|
474 |
|
475 |
df_valid = df_valid.dropna(subset=[col_predicha_num, col_real_promedio])
|
476 |
|
477 |
+
# Filtrar filas según la columna "Incluir"
|
478 |
+
if 'Incluir' in df_valid.columns:
|
479 |
+
df_valid = df_valid[df_valid['Incluir'] == True]
|
480 |
+
|
481 |
if df_valid.empty:
|
482 |
return None
|
483 |
|
|
|
550 |
if idx in df.index:
|
551 |
df_new.at[idx, col_new] = df.at[idx, col_old]
|
552 |
|
553 |
+
# Mapear la columna "Incluir"
|
554 |
+
if 'Incluir' in df.columns:
|
555 |
+
df_new['Incluir'] = True
|
556 |
+
for idx in df_new.index:
|
557 |
+
if idx in df.index:
|
558 |
+
df_new.at[idx, 'Incluir'] = df.at[idx, 'Incluir']
|
559 |
+
else:
|
560 |
+
df_new['Incluir'] = True
|
561 |
+
|
562 |
return df_new
|
563 |
|
564 |
def cargar_excel(file):
|