在数据框中添加复选框

问题描述 投票:0回答:2

我想在streamlit的数据框中添加一列,并且该列是一个复选框,以便稍后我可以列出标记了复选框的行,这可能吗?

python pandas checkbox interactive streamlit
2个回答
7
投票

您可以使用streamlit-aggrid包。

代码
"""
pip install streamlit-aggrid
"""

import streamlit as st
import pandas as pd
from st_aggrid import AgGrid, GridUpdateMode
from st_aggrid.grid_options_builder import GridOptionsBuilder


data = {
    'country': ['Japan', 'China', 'Thailand', 'France', 'Belgium', 'South Korea'],
    'capital': ['Tokyo', 'Beijing', 'Bangkok', 'Paris', 'Brussels', 'Seoul']
}

df = pd.DataFrame(data)
gd = GridOptionsBuilder.from_dataframe(df)
gd.configure_selection(selection_mode='multiple', use_checkbox=True)
gridoptions = gd.build()

grid_table = AgGrid(df, height=250, gridOptions=gridoptions,
                    update_mode=GridUpdateMode.SELECTION_CHANGED)

st.write('## Selected')
selected_row = grid_table["selected_rows"]
st.dataframe(selected_row)
输出


0
投票

从 v1.23.0 开始,Streamlit 有一个内置数据编辑器小部件,可用于编辑 panda 数据框: https://docs.streamlit.io/library/api-reference/data/st.data_editor

© www.soinside.com 2019 - 2024. All rights reserved.