【问题标题】:Add checkbox in dataframe在数据框中添加复选框
【发布时间】:2022-06-16 00:21:37
【问题描述】:

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

【问题讨论】:

  • 据我所知,pandas 没有这种程度的交互性,但您可以编写一个小界面来加载 DataFrame 并使用复选框
  • 您当然可以将带有 ascii 或 emoji 复选框的字符串存储为值。但正如@mozway 所说,它们不会是交互式的。

标签: python pandas checkbox interactive streamlit


【解决方案1】:

您可以使用包 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)
输出

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多