File size: 4,096 Bytes
9dcd3f9 948d7f1 7823114 9dcd3f9 f123b98 7823114 948d7f1 7823114 948d7f1 7823114 948d7f1 7823114 948d7f1 7823114 948d7f1 7823114 948d7f1 7823114 948d7f1 7823114 948d7f1 7823114 948d7f1 7823114 948d7f1 7823114 948d7f1 7823114 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
import streamlit as st
from st_aggrid import AgGrid, GridOptionsBuilder
import pandas as pd
def show_table(p1_df, p2_df):
st.write("------------------")
p1_df = p1_df.reset_index(drop=True)
p2_df = p2_df.reset_index(drop=True)
actual_ind = 0
for i in range(len(p1_df) - 1, -1, -2): # stepsize because project matchs in both ways and it should only display a match one time
actual_ind += 1
match_df = pd.DataFrame()
row_from_p1 = p1_df.iloc[[i]]
row_from_p2 = p2_df.iloc[[i]]
# transform strings to list
row_from_p1["crs_3_code_list"] = [row_from_p1['crs_3_code'].item().split(";")[:-1]]
row_from_p2["crs_3_code_list"] = [row_from_p2['crs_3_code'].item().split(";")[:-1]]
row_from_p1["crs_5_code_list"] = [row_from_p1['crs_3_code'].item().split(";")[:-1]]
row_from_p2["crs_5_code_list"] = [row_from_p2['crs_3_code'].item().split(";")[:-1]]
row_from_p1["sdg_list"] = [row_from_p1['sgd_pred_code'].item()]
row_from_p2["sdg_list"] = [row_from_p2['sgd_pred_code'].item()]
# Correctly append rows to match_df
st.subheader(f"#{actual_ind}")
st.caption(f"Similarity: {round(row_from_p1['similarity'].item(), 4) * 100}%")
match_df = pd.concat([row_from_p1, row_from_p2], ignore_index=True)
#AgGrid(match_df)
st.dataframe(
match_df[["iati_id", "title_main", "orga_abbreviation", "client", "description_main", "country", "sdg_list", "crs_3_code_list", "crs_5_code_list"]],
use_container_width = True,
height = 35 + 35 * len(match_df),
column_config={
"""
"similarity": st.column_config.TextColumn(
"Similarity",
help="simialrity",
disabled=True
),
"""
"iati_id": st.column_config.TextColumn(
"IATI ID",
help="IATI Project ID",
disabled=True
),
"orga_abbreviation": st.column_config.TextColumn(
"Organization",
help="If description not in English, description in other language provided",
disabled=True
),
"client": st.column_config.TextColumn(
"Client",
help="Client organization of customer",
disabled=True
),
"title_main": st.column_config.TextColumn(
"Title",
help="If title not in English, title in other language provided",
disabled=True
),
"description_main": st.column_config.TextColumn(
"Description",
help="If description not in English, description in other language provided",
disabled=True
),
"country": st.column_config.TextColumn(
"Country",
help="Country of project",
disabled=True
),
"sdg_list": st.column_config.ListColumn(
"SDG Prediction",
help="Prediction of SDG's",
),
"crs_3_code_list": st.column_config.ListColumn(
"CRS 3",
help="CRS 3 code given by organization",
),
"crs_5_code_list": st.column_config.ListColumn(
"CRS 5",
help="CRS 5 code given by organization"
),
},
hide_index=True,
)
st.write("------------------") |