#12396·streamlit

`st.filter_bar` 小组件用于过滤数据框

作者: lukasmasuch创建于 2025年9月1日更新于 2026年9月16日
标签type:enhancementarea:arrowarea:widgetstype:possible-component
  • 核对表
  • 我已搜索了现有问题
  • 我为这个问题增加了一个说明性的标题和摘要。

页:1

提供一个部件,一个部件很容易为应用添加过滤功能 。

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 已过滤 df = st. filter bar(df)


<img宽="600" alt="Image" src="https://GitHub.com/user-attachments/assets/fde2793d-4525-4092-b626-870c807b9938"/">".

截图格式 https://ui.bazza.dev/docs/data-table-filter

为什么?

添加过滤功能需要使用已存在的部件并用胶片代码逐一添加. 这可以是一个相当的努力,并占用大量可用的屏幕空间.

怎么会?

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
已过滤 df = st. filter bar(df)

过滤栏会读出数据框架的 schema,并允许用户根据数据类型特定UI过滤器过滤出所有相关列.

一些考虑:

  • 如果一个未经评价的数据框被传递,则只将过滤器应用到未经评价的对象,而不将数据装入内存.
  • 可能有一些参数,可以指定允许过滤的列,甚至“列”配置,例如过滤器本身的配置能力。
  • 滤波器可以放在任何地方 和其他部件一样
  • 我们可以重新使用与独立部件相同的前端部件,并将其集成,以便能够直接过滤`st.dataframe'和图表: https://GitHub.com/streamlit/streamlit/issues/1879 (中文(简体) ).

++ 附加上下文

<img宽="400" alt="Image" src="https://GitHub.com/user-attachments/assets/12096b39-8fac-440b-9c27-e3513aca7f79"/".

<img宽="400" alt="Image" src="https://GitHub.com/user-attachments/assets/c855c82a-3b1b-4b58-96e5-ebbf41299b8b"/".

内容来源: streamlit/streamlit