Я хочу обновить значения в строке df на основе выбора пользователем< /li>
Я хочу обновить df (после кнопки отправки), чтобы подмножество параметров («типов») больше не было видно
В исходной задаче пользователю необходимо будет сделать около 30 разделов в различных раундов.
Вот минимальный пример
import streamlit as st
import pandas as pd
def update_df():
# make df global
global df
# add Selection in orignal df
df["selected"] = True
def write_session_state():
# make df global
global df
# write session state
st.session_state["df"] = df
# create df
d = {'Num': [1, 2, 3, 4, 5, 6, 7, 8, 9],
'types': ["A", "A", " A", "B", "B", "B", "C", "C", "C"]}
df = pd.DataFrame(data=d)
# add Selection columns
df['selected'] = None
# initialize session state
if 'df' not in st.session_state:
st.session_state.df = df
# all options
all_options = df['types'].unique().tolist()
# run until 3 options are selected
while len(df[df['selected'].notnull()]) < 3:
# load session state
st.session_state.df = df
# make a list of all selected types
selected = df['types'][df['selected'].notnull()].unique().tolist()
# selectable options (list comparisons)
selectable = [x for x in all_options if x not in selected]
# only show selectable
df_select = df[df['types'].isin(selectable)]
# draw the df
df_select = st.dataframe(
df_select,
use_container_width=True,
hide_index=True,
on_select=update_df,
selection_mode="multi-row",
)
st.button("Submit", on_click=write_session_state)
Я ожидаю, что значение в df['selected'] станет истинным
Я бы ожидайте, что df изменится после того, как я нажму кнопку отправки.
У меня два вопроса в одном [list] [*]Я хочу обновить значения в строке df на основе выбора пользователем< /li> Я хочу обновить df (после кнопки отправки), чтобы подмножество параметров («типов») больше не было видно [/list] В исходной задаче пользователю необходимо будет сделать около 30 разделов в различных раундов. Вот минимальный пример [code]import streamlit as st import pandas as pd
def update_df(): # make df global global df # add Selection in orignal df df["selected"] = True
def write_session_state(): # make df global global df # write session state st.session_state["df"] = df
st.button("Submit", on_click=write_session_state) [/code] [list] [*]Я ожидаю, что значение в df['selected'] станет истинным [*]Я бы ожидайте, что df изменится после того, как я нажму кнопку отправки. [/list] Ничего из вышеперечисленного не произойдет.