python - 用破折号下拉过滤 pd.DataFrame
问题描述
我是 Dash 的新手,并尝试使用下拉列表过滤以下数据框并显示过滤器数据框。我无法正确定义回调函数。任何示例代码都非常感谢,
df = pd.DataFrame({
'col1': ['A', 'B', 'B', 'A', 'B', 'A'],
'col2': [2, 1, 9, 8, 7, 4],
'col3': [0, 1, 9, 4, 2, 3],
})
解决方案
这是我认为可能是一个不错的起点的文档页面。如果您提前知道数据框,则可以使用您知道需要的值填充下拉列表。如果你不这样做,那么你需要使用回调来更新下拉options
道具。
该文档页面上的第一个示例显示了如何从下拉列表中获取值并将其输出。在您的情况下,您可以使用下拉列表来过滤数据框,例如:
@app.callback(
Output('data-table-id', 'data'),
[Input('dropdown-id', 'value')
)
def callback_func(dropdown_value):
df_filtered = df[df['col1'].eq(dropdown_value)]
return df_filtered.to_dict(orient='records)
然后将回调的输出设置为data
Dash 数据表的属性。我为下拉列表的Output
和Input
部分添加了一些虚构的值,希望能给出总体思路。
推荐阅读
- android - Coordinatorlayout 中的 VIewpager 在可见性消失时占用了额外的空间
- python - 如何在 Pelican 的模板目录中添加 .html 文件并在输出中解析 .html 文件?
- android - 如何使用 YoutubeBaseActivity 扩展 Fragment
- javascript - 使用 JavaScript 在 HTML 中按字符显示字符,然后用新单词将其删除
- arrays - 为什么 printf 不会输出一个大数组?
- python - 将数据帧从数组重新排列到矩阵
- django - 如何从主键中删除 django _like 索引
- three.js - 指针事件未在 react-three-fiber 中触发
- algorithm - 由于数量众多,无法理解 RSA 实现
- c++ - 在 c++11 中,外部链接优于内部链接