pandas 如何在Streamlit中从单个滑块获取多个用户输入,并基于单个按钮在数据库中进行更新?

2uluyalo  于 2023-04-04  发布在  其他
关注(0)|答案(1)|浏览(229)

我在streamlit中构建一个应用程序,在其中我有一个输入数据框,其中我有一个折扣列,如裤子,衬衫,牛仔裤等列出的所有产品,我想给予用户的灵活性,以更新任何项目的折扣值。
首先我有一个选择框(下拉)其中用户将选择一个项目,然后有一个滑块,用户可以从其中修改该项目的折扣值在0到100%之间。在选择下拉项目并更改滑块上的折扣值后,用户将单击更新按钮,之后该折扣值将进入原始 Dataframe 并将得到更新。但现在的问题是,如果用户要为下一个项目执行此任务并遵循相同的过程,则在单击更新按钮后,折扣将针对第二个项目进行修改,但将恢复为第一个项目的原始折扣。
我在这里想不出任何逻辑。
我试过:

Key_Input = st.sidebar.selectbox('Select item',df['item'].unique().tolist())
    if Key_Input:
        Discount = st.sidebar.slider('Discount', 0.0,1.0, 0.01)
    if st.sidebar.button('Update Discount Value'):
        df_new['DISC'] = np.where((df_new['item'] == Key_Input, Discount,df_new['DISC'])
        
    st.write(df_new)

相关问题