File size: 2,625 Bytes
8e844df 8b893c4 8e844df 11bd726 fe8d957 4468aa8 01dd0c9 e400c34 eba6fc3 ea86cca fa228ee eba6fc3 fa228ee 823c904 eba6fc3 8cacd64 eba6fc3 4efc936 37259df 2f6133f 8b893c4 1ba86d2 8b893c4 093c97f 8b893c4 dda69c9 5c68510 8ea4a62 8b893c4 cd0701a 6515087 33ee252 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 58 59 60 61 |
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")
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'] = df_chapters.apply(lambda row: list(range(row.min(), row.max()+1)), axis=1)
#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))
allchapters_rows_list = []
for s, e in zip(startrowindex_list, endrowindex_list):
eachchapter_rows_list = list(range(s,e))
allchapters_rows_list.append(eachchapter_rows_list)
df_chapters['range_of_rows'] = allchapters_rows_list
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[:,0].tolist()
st.write("SELECTED CHAPTERS: ", selected_chapters_list)
selected_rows_list = selected_chapters.iloc[:,6].tolist()
st.write("SELECTED ROWS: ", selected_rows_list)
for item in selected_chapters_list[]:
#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 |