Choose value from st.select into st.experimental_data_editor table

Hello
I was wondering if it is possible to implement the abillity for the user to choose a value from st.select into st.experimental_data_editor table?
Also, if the desired value is not in the given list, to let the user write as st.input the string.
Thanks

Kobic

I’m taking a little guess as to your meaning…

You can set a column to have categorical data type. In this instance the data editor will present the user with a select box when they edit cells in that column.

import streamlit as st
import pandas as pd

if 'df' not in st.session_state:
    df = pd.DataFrame({'A':[True, False, True],'B':['cat','cat','dog']})
    df['B'] = df['B'].astype(pd.CategoricalDtype(['cat','dog','bird']))
    st.session_state.df = df

df = st.session_state.df

st.experimental_data_editor(df, num_rows='dynamic')

image

3 Likes

hey
thanks so much for you solution. My case is a bit different: each time I load different values from a dict and transform them into an editible dataframe.
as you can see it includes annotation data of labels and bounding-box locations. In my app, the user can add a row, to add a new annotation. I want the app to allow the user to choose from the above lables, the new label name (or set a new label).
Hope now its well-explained

I don’t believe a conditional categorical type can be declared like that (at least yet).

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.