Set default value for selectbox
Question:
I am new to streamlit.
I tried to set a default value for sidebar.selectbox.
The code is below.
I appreciate the help!
Thank you in advance.
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
Answers:
Use the index
keyword of the selectbox
widget. Pass the index of the value in the options
list that you want to be the default choice.
E.g. if you wanted to set the default choice of the selectbox labeled 'Window ANTICOR'
to 30 (which you appear to be trying to do), you could simply do this:
values = ['<select>',3, 5, 10, 15, 20, 30]
default_ix = values.index(30)
window_ANTICOR = st.sidebar.selectbox('Window ANTICOR', values, index=default_ix)
Source: https://docs.streamlit.io/library/api-reference/widgets/st.selectbox
you can directly give index also for default position
bins = st.sidebar.radio(label="Category :", options=n3, index=0)
for more information
enter link description here
values = ['Select', 10, 15, 20, 25, 30]
default_ix = values.index(10)
if values == 'Select':
st.warning("Choose the integers from the list in the dropdown")
else:
components = st.selectbox("Select the components below⤵️", values,
index=default_ix)
I am new to streamlit.
I tried to set a default value for sidebar.selectbox.
The code is below.
I appreciate the help!
Thank you in advance.
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
Use the index
keyword of the selectbox
widget. Pass the index of the value in the options
list that you want to be the default choice.
E.g. if you wanted to set the default choice of the selectbox labeled 'Window ANTICOR'
to 30 (which you appear to be trying to do), you could simply do this:
values = ['<select>',3, 5, 10, 15, 20, 30]
default_ix = values.index(30)
window_ANTICOR = st.sidebar.selectbox('Window ANTICOR', values, index=default_ix)
Source: https://docs.streamlit.io/library/api-reference/widgets/st.selectbox
you can directly give index also for default position
bins = st.sidebar.radio(label="Category :", options=n3, index=0)
for more information
enter link description here
values = ['Select', 10, 15, 20, 25, 30]
default_ix = values.index(10)
if values == 'Select':
st.warning("Choose the integers from the list in the dropdown")
else:
components = st.selectbox("Select the components below⤵️", values,
index=default_ix)