AIdeaText commited on
Commit
be00b8a
1 Parent(s): 2a97cbe

Update modules/ui/ui.py

Browse files
Files changed (1) hide show
  1. modules/ui/ui.py +28 -16
modules/ui/ui.py CHANGED
@@ -991,6 +991,12 @@ def display_discourse_results(result, lang_code, t):
991
 
992
  col1, col2 = st.columns(2)
993
 
 
 
 
 
 
 
994
  with col1:
995
  with st.expander(t.get('file_uploader1', "Documento 1"), expanded=True):
996
  if 'graph1' in result:
@@ -999,8 +1005,7 @@ def display_discourse_results(result, lang_code, t):
999
  st.warning(t.get('graph_not_available', "El gráfico no está disponible."))
1000
  st.subheader(t.get('key_concepts', "Conceptos Clave"))
1001
  if 'key_concepts1' in result:
1002
- df1 = pd.DataFrame(result['key_concepts1'], columns=['Concepto', 'Frecuencia'])
1003
- df1['Frecuencia'] = pd.to_numeric(df1['Frecuencia'], errors='coerce').fillna(0).round(2)
1004
  st.table(df1)
1005
  else:
1006
  st.warning(t.get('concepts_not_available', "Los conceptos clave no están disponibles."))
@@ -1013,32 +1018,39 @@ def display_discourse_results(result, lang_code, t):
1013
  st.warning(t.get('graph_not_available', "El gráfico no está disponible."))
1014
  st.subheader(t.get('key_concepts', "Conceptos Clave"))
1015
  if 'key_concepts2' in result:
1016
- df2 = pd.DataFrame(result['key_concepts2'], columns=['Concepto', 'Frecuencia'])
1017
- df2['Frecuencia'] = pd.to_numeric(df2['Frecuencia'], errors='coerce').fillna(0).round(2)
1018
  st.table(df2)
1019
  else:
1020
  st.warning(t.get('concepts_not_available', "Los conceptos clave no están disponibles."))
1021
 
1022
- # Comparación de conceptos clave (ahora fuera de las columnas para ocupar todo el ancho)
1023
  st.subheader(t.get('comparison', "Relación de conceptos entre ambos documentos"))
1024
  if 'key_concepts1' in result and 'key_concepts2' in result:
1025
- df1 = pd.DataFrame(result['key_concepts1'], columns=['Concepto', 'Frecuencia'])
1026
- df2 = pd.DataFrame(result['key_concepts2'], columns=['Concepto', 'Frecuencia'])
1027
-
1028
- # Asegurarse de que las frecuencias sean numéricas
1029
- df1['Frecuencia'] = pd.to_numeric(df1['Frecuencia'], errors='coerce').fillna(0)
1030
- df2['Frecuencia'] = pd.to_numeric(df2['Frecuencia'], errors='coerce').fillna(0)
1031
 
1032
- df1 = df1.set_index('Concepto')
1033
- df2 = df2.set_index('Concepto')
1034
  df_comparison = pd.concat([df1, df2], axis=1, keys=[t.get('file_uploader1', "Documento 1"), t.get('file_uploader2', "Documento 2")])
1035
  df_comparison = df_comparison.fillna(0)
1036
 
1037
- # Asegurarse de que todas las columnas sean del tipo float
1038
  for col in df_comparison.columns:
1039
- df_comparison[col] = df_comparison[col].astype(float)
 
 
 
 
1040
 
1041
- st.dataframe(df_comparison.style.format("{:.2f}"), width=1000) # Ajusta el ancho según sea necesario
 
 
 
 
 
 
 
 
 
 
1042
  else:
1043
  st.warning(t.get('comparison_not_available', "La comparación no está disponible."))
1044
 
 
991
 
992
  col1, col2 = st.columns(2)
993
 
994
+ def process_key_concepts(key_concepts):
995
+ df = pd.DataFrame(key_concepts, columns=['Concepto', 'Frecuencia'])
996
+ df['Frecuencia'] = pd.to_numeric(df['Frecuencia'], errors='coerce')
997
+ df['Frecuencia'] = df['Frecuencia'].fillna(0).astype(float)
998
+ return df
999
+
1000
  with col1:
1001
  with st.expander(t.get('file_uploader1', "Documento 1"), expanded=True):
1002
  if 'graph1' in result:
 
1005
  st.warning(t.get('graph_not_available', "El gráfico no está disponible."))
1006
  st.subheader(t.get('key_concepts', "Conceptos Clave"))
1007
  if 'key_concepts1' in result:
1008
+ df1 = process_key_concepts(result['key_concepts1'])
 
1009
  st.table(df1)
1010
  else:
1011
  st.warning(t.get('concepts_not_available', "Los conceptos clave no están disponibles."))
 
1018
  st.warning(t.get('graph_not_available', "El gráfico no está disponible."))
1019
  st.subheader(t.get('key_concepts', "Conceptos Clave"))
1020
  if 'key_concepts2' in result:
1021
+ df2 = process_key_concepts(result['key_concepts2'])
 
1022
  st.table(df2)
1023
  else:
1024
  st.warning(t.get('concepts_not_available', "Los conceptos clave no están disponibles."))
1025
 
1026
+ # Comparación de conceptos clave
1027
  st.subheader(t.get('comparison', "Relación de conceptos entre ambos documentos"))
1028
  if 'key_concepts1' in result and 'key_concepts2' in result:
1029
+ df1 = process_key_concepts(result['key_concepts1']).set_index('Concepto')
1030
+ df2 = process_key_concepts(result['key_concepts2']).set_index('Concepto')
 
 
 
 
1031
 
 
 
1032
  df_comparison = pd.concat([df1, df2], axis=1, keys=[t.get('file_uploader1', "Documento 1"), t.get('file_uploader2', "Documento 2")])
1033
  df_comparison = df_comparison.fillna(0)
1034
 
1035
+ # Verificar y convertir todas las columnas a float
1036
  for col in df_comparison.columns:
1037
+ df_comparison[col] = pd.to_numeric(df_comparison[col], errors='coerce').fillna(0).astype(float)
1038
+
1039
+ # Mostrar los tipos de datos de las columnas para depuración
1040
+ st.write("Tipos de datos de las columnas:")
1041
+ st.write(df_comparison.dtypes)
1042
 
1043
+ # Mostrar los primeros registros para depuración
1044
+ st.write("Primeros registros del DataFrame:")
1045
+ st.write(df_comparison.head())
1046
+
1047
+ # Intentar mostrar el DataFrame formateado
1048
+ try:
1049
+ st.dataframe(df_comparison.style.format("{:.2f}"), width=1000)
1050
+ except Exception as e:
1051
+ st.error(f"Error al mostrar el DataFrame: {str(e)}")
1052
+ st.write("DataFrame sin formato:")
1053
+ st.write(df_comparison)
1054
  else:
1055
  st.warning(t.get('comparison_not_available', "La comparación no está disponible."))
1056