File size: 2,476 Bytes
8e844df 8b893c4 8e844df 11bd726 fe8d957 4468aa8 01dd0c9 e400c34 ea86cca 2f35a09 5627abb 823c904 8cacd64 a0074d4 811805e 3f56e92 823c904 37259df 2f6133f 8b893c4 1ba86d2 8b893c4 093c97f 8b893c4 dda69c9 5c68510 8ea4a62 8b893c4 cd0701a bb2f5f9 b5c1d40 8822019 cc45ec8 eb086a7 bb2f5f9 bb8fcd0 d993188 f2657bd |
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 |
import streamlit as st
import pandas as pd
for k, v in st.session_state.items():
st.session_state[k] = v
st.title("📘Map internal description to SBS codes V2.0")
st.subheader("Select specific Chapter for quicker results")
st.subheader("Demo currently limited to Chapter 20: Imaging services; (Work in progress)")
df_chapters = pd.read_csv("SBS_V2_0/Chapter_Index_Rows.csv")
#df_chapters['range_of_rows'] = df_chapters.apply(lambda row: list(range(row.min(), row.max()+1)), axis=1)
startrowindex_list = df_chapters["from_row_index"].tolist()
endrowindex_list = df_chapters["to_row_index"].tolist()
st.write("START num:", startrowindex_list)
st.write("END num:", endrowindex_list)
#df_chapters["range_of_rows"] = range((s for s in startrowindex_list), (e for e in endrowindex_list))
#df_chapters['range_of_rows'] = df_chapters.apply(lambda row: list(range((s for s in startrowindex_list), (e for e in endrowindex_list)), axis=1))
for s, e in zip(startrowindex_list, endrowindex_list):
df_chapters['range_of_rows'] = df_chapters.apply(lambda s, e: range(s,e), axis=1)
#df_chapters['range_of_rows'] = range(s,e)
def dataframe_with_selections(df_chapters: pd.DataFrame, init_value: bool = False) -> pd.DataFrame:
df_with_selections = df_chapters.copy()
df_with_selections.insert(0, "Select", init_value)
# Get dataframe row-selections from user with st.data_editor
edited_df = st.data_editor(
df_with_selections,
hide_index=True,
column_config={"Select": st.column_config.CheckboxColumn(required=True)},
disabled=df_chapters.columns,
)
# Filter the dataframe using the temporary column, then drop the column
selected_rows = edited_df[edited_df.Select]
return selected_rows.drop('Select', axis=1)
if "selected_chapters" not in st.session_state:
st.session_state['selected_chapters'] = []
selected_chapters_list = st.session_state.selected_chapters
selected_chapters = dataframe_with_selections(df_chapters)
st.write("Your selection:")
st.write(selected_chapters)
selected_chapters_list = selected_chapters.iloc[:,:] #.tolist()
st.write("SELECTED CHAPTERS: ", selected_chapters_list)
for item in selected_chapters_list.iloc[:,0]:
#start_row = item[4], end_row = item[5]
st.write("ZZZZZZZZZZZZZ: ", item)
#selected_rows_list = [row for rows in selected_chapters_list.iloc[;,;][4]]
if selected_chapters is not None:
st.session_state.selected_chapters = selected_chapters_list |