dfsandovalp01 commited on
Commit
f2fecaa
·
verified ·
1 Parent(s): 56e12a1

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -0
app.py CHANGED
@@ -686,6 +686,10 @@ def tab_inicio(df_ods, df_metas, df_indicador):
686
  top_metas = pd.concat([top_metas, top_metas_lcl], axis=0)
687
  # top_metas['logo_id'] = top_metas['ODS_ID'].apply(lambda _: f"ods_{_}")
688
  top_metas['logo_id'] = top_metas['META_ID'].apply(lambda _: f"meta_{_.upper()}")
 
 
 
 
689
  # top_metas = df_metas.groupby('META_ID').agg({
690
  # 'meta_similaridad_cos_normalized': 'mean'
691
  # }).sort_values('meta_similaridad_cos_normalized', ascending=False).head(5)[['META_ID','META','meta_similaridad_cos_normalized']]
@@ -789,6 +793,32 @@ def tab_inicio(df_ods, df_metas, df_indicador):
789
  </div>''' for _, row in top_indicador.iterrows()])}
790
  </div>
791
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
792
 
793
  <!--
794
  <div style="background-color: #F0F0F0; padding: 20px; border-radius: 10px; margin: 20px 0;">
@@ -862,6 +892,10 @@ def tab_inicio_mass(df_ods=None, df_metas=None, df_indicador=None):
862
  # top_metas = df_metas.groupby('META_ID').agg({
863
  # 'meta_similaridad_cos_normalized': 'mean'
864
  # }).sort_values('meta_similaridad_cos_normalized', ascending=False).head(5)[['META_ID','META','meta_similaridad_cos_normalized']]
 
 
 
 
865
 
866
  # Top 5 indicadores
867
  top_indicador = pd.DataFrame()
 
686
  top_metas = pd.concat([top_metas, top_metas_lcl], axis=0)
687
  # top_metas['logo_id'] = top_metas['ODS_ID'].apply(lambda _: f"ods_{_}")
688
  top_metas['logo_id'] = top_metas['META_ID'].apply(lambda _: f"meta_{_.upper()}")
689
+
690
+ recomendaciones_tblinput = Path('data/raw/ODS_169_metas_recomendaciones_detalladas.xlsx')
691
+ df_recomendaciones = pd.read_excel(recomendaciones_tblinput)
692
+ top_metas = top_metas.merge(df_recomendaciones[['Meta_ODS', 'Recomendaciones_territoriales']], left_on='META_ID', right_on='Meta_ODS', how='left')
693
  # top_metas = df_metas.groupby('META_ID').agg({
694
  # 'meta_similaridad_cos_normalized': 'mean'
695
  # }).sort_values('meta_similaridad_cos_normalized', ascending=False).head(5)[['META_ID','META','meta_similaridad_cos_normalized']]
 
793
  </div>''' for _, row in top_indicador.iterrows()])}
794
  </div>
795
  </div>
796
+
797
+ <div class="important-box" style="background-color: #E8F4F8; padding: 20px; border-radius: 10px; margin: 20px 0; border-left: 5px solid #4472C4;">
798
+ <h3 style="color: #2E5090;">📋 Recomendaciones Territoriales por Meta</h3>
799
+ <table style="width: 100%; border-collapse: collapse; background-color: white;">
800
+ <thead>
801
+ <tr style="background-color: #2E5090; color: white;">
802
+ <th style="padding: 12px; text-align: left; border-bottom: 2px solid #2E5090;">ODS</th>
803
+ <th style="padding: 12px; text-align: left; border-bottom: 2px solid #2E5090;">Meta ID</th>
804
+ <th style="padding: 12px; text-align: left; border-bottom: 2px solid #2E5090;">Recomendaciones Territoriales</th>
805
+ </tr>
806
+ </thead>
807
+ <tbody>
808
+ {''.join([f'''
809
+ <tr style="border-bottom: 1px solid #ddd;">
810
+ <td style="padding: 12px; text-align: center;">
811
+ <img src="{dict_logos[f'ods_{row['ODS_ID']}']}"
812
+ alt="ODS {row['ODS_ID']}"
813
+ width="50"
814
+ style="vertical-align: middle;" />
815
+ </td>
816
+ <td style="padding: 12px; font-weight: bold; color: #2E5090;">{row['META_ID']}</td>
817
+ <td style="padding: 12px; color: #333;">{row.get('Recomendaciones_territoriales', 'N/A')}</td>
818
+ </tr>''' for _, row in df_metas.iterrows() if not pd.isna(row.get('Recomendaciones_territoriales'))])}
819
+ </tbody>
820
+ </table>
821
+ </div>
822
 
823
  <!--
824
  <div style="background-color: #F0F0F0; padding: 20px; border-radius: 10px; margin: 20px 0;">
 
892
  # top_metas = df_metas.groupby('META_ID').agg({
893
  # 'meta_similaridad_cos_normalized': 'mean'
894
  # }).sort_values('meta_similaridad_cos_normalized', ascending=False).head(5)[['META_ID','META','meta_similaridad_cos_normalized']]
895
+
896
+ recomendaciones_tblinput = Path('data/raw/ODS_169_metas_recomendaciones_detalladas.xlsx')
897
+ df_recomendaciones = pd.read_excel(recomendaciones_tblinput)
898
+ top_metas = top_metas.merge(df_recomendaciones[['Meta_ODS', 'Recomendaciones_territoriales']], left_on='META_ID', right_on='Meta_ODS', how='left')
899
 
900
  # Top 5 indicadores
901
  top_indicador = pd.DataFrame()