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("------------------")