Spaces:
Running
Running
Upload app.py
Browse files
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()
|