vives's picture
Update app.py
e291f3a
raw
history blame
1.43 kB
"""The following program will read in 2 XL sheets of KP matches and the user will evaluate the quality of the matching"""
import streamlit as st
import json
import pandas as pd
xl1 = st.file_uploader("Choose first file", key="xl1")
xl2 = st.file_uploader("Choose second file", key="xl2")
if xl1 is not None and xl2 is not None:
#assert that the first few columns are the same
df1 = pd.read_excel(xl1, sheet_name= "0.85 Threshold")
df2 = pd.read_excel(xl2, sheet_name= "0.85 Threshold")
st.write(df1[["Attendee A","Attendee B","KP"]])
if not df1[["Attendee A","Attendee B","KP"]].equals(df2[["Attendee A","Attendee B","KP"]]):
xl1 = None
xl2 = None
else:
for t1,t2 in zip(df1.iterrows(),df2.iterrows()):
r1 = t1[1]
r2 = t2[1]
assert r1["KP"] == r2["KP"]
kps1 = json.loads(r1["Matched KPs"])
kps2 = json.loads(r2["Matched KPs"])
for kp1, kp2 in zip(kps1.keys(),kps2.keys()):
if kps1[kp1] > 0.99:
kps1.pop(kp1)
if kps2[kp2] > 0.99:
kps2.pop(kp2)
#now display the kps
if kps1 == {} and kps2 == {}:
continue
if kps1 != {}:
for kp1 in kps1.keys():
col1, col2, col3 = st.columns()
with col1:
st.write(r1["KP"])
with col2:
st.write(f"kp: {kp1} , distance: {kps1[kp1]}")
with col3:
st.radio("Appropriate?", [True, False])