设置选择框的默认值
我是 Streamlit 的新手。我试图为 sidebar.selectbox 设置一个默认值。代码如下。我感谢您的帮助!先感谢您。
st.sidebar.header('Settings')
fichier = st.sidebar.selectbox('Dataset', ('djia', 'msci', 'nyse_n', 'nyse_o', 'sp500', 'tse'))
window_ANTICOR = st.sidebar.selectbox('Window ANTICOR', ['<select>',3, 5, 10, 15, 20, 30])
if window_ANTICOR == '<select>':
window_ANTICOR == 30
window_OLMAR = st.sidebar.selectbox('Window OLMAR', ['<select>',3, 5, 10, 15, 20, 30])
if window_OLMAR == '<select>':
window_OLMAR == 5
eps_OLMAR = st.sidebar.selectbox('Eps OLMAR', ['<select>', 3, 5, 10, 15, 20, 30])
if eps_OLMAR == '<select>':
eps_OLMAR == 10
eps_PAMR = st.sidebar.selectbox('Eps PAMR', ['<select>',0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1])
if eps_PAMR == '<select>':
eps_PAMR == 0.5
variant = st.sidebar.selectbox('Variant PAMR', (0, 1, 2))
if variant == '<select>':
eps_PAMR == 0
回答
使用小部件的index关键字sidebar.selectbox。传递options列表中要作为默认选择的值的索引。
例如,如果您想将标记'Window ANTICOR'为 30 的选择框的默认选项设置为 30(您似乎正在尝试这样做),您可以简单地执行以下操作:
values = ['<select>',3, 5, 10, 15, 20, 30]
default_ix = values.index(30)
window_ANTICOR = st.sidebar.selectbox('Window ANTICOR', values, index=default_ix)
来源:https : //docs.streamlit.io/en/stable/api.html#streamlit.selectbox