『玩转Streamlit』--数据展示组件

打印 上一主题 下一主题

主题 844|帖子 844|积分 2534

数据展示组件在Streamlit各类组件中占据了至关重要的地位,
它的核心功能是以直观、易于理解的方式展示数据。
本次先容的数据展示组件st.dataframe和st.table,能够将复杂的数据集以表格、图表等情势清晰地呈现出来,使得用户能够快速把握数据的整体情况和细节特征。
1. st.dataframe

st.dataframe以易读且雅观的方式展示pandas的DataFrame。
无论是处理小型数据集照旧庞大的数据表,st.dataframe都能轻而易举展示数据。
st.dataframe适用于需要在Web应用中展示复杂数据集的场景。
首先,它能够自动适应屏幕宽度,并支持程度或垂直滚动,确保用户能方便地浏览整个数据集。
此外,st.dataframe还支持对数据进行排序、筛选和搜索等利用,增强了数据的可读性和交互性。
2. st.table

st.table也是用于在Web应用中显示表格数据,
它可以显示交互式表格,并提供多种自定义设置来满足各类需求。
与st.dataframe相比,st.table更适用于当数据集不是特别庞大且需要保持清晰可读性的场景。
它允许用户通过简单的配置来调整表格的显示方式,如列宽、行高等。
3. 两者区别

这两个组件都用于展示数据,都支持多种类型的数据对象作为输入,好比pandas.DataFrame,numpy.ndarray、Iterable、dict等等。
但是在交互性显示方式功能丰富度上面是有区别的,
下面通过一个示例来演示两者在使用上的区别,
先使用 st.dataframe 显示一个包含用户信息的静态DataFrame,如姓名、年龄和邮箱。
DataFrame将显示为可滚动、可排序和可搜索的表格。还可以将数据生存为CSV文件。
同样使用 st.table 显示相同的用户信息数据集,但表格样式会更加简洁,功能相对较少(比方,不支持搜索)。
  1. import streamlit as st
  2. import pandas as pd
  3. # 创建静态数据集
  4. data = {
  5.     "姓名": ["张三", "李四", "王五"],
  6.     "年龄": [25, 30, 35],
  7.     "邮箱": ["zhangsan@example.com", "lisi@example.com", "wangwu@example.com"],
  8. }
  9. df = pd.DataFrame(data)
  10. st.header("st.dataframe")
  11. # 使用st.dataframe显示
  12. st.dataframe(df)
  13. st.header("st.table")
  14. # 使用st.table显示
  15. st.table(df)
复制代码

除了功能比较丰富以外,st.dataframe对于展示千上万行的大型数据集时,可以调整其高度和宽度,可以搜索过滤和排序,因此更方便遇检察数据。
而st.table由于功能相对简单,会将所有数据直接展示出来,浏览和分析大量数据不那么方便。
好比,下面模拟了一个一万条数据的场景。
st.dataframe展示时,可以固定一块位置;而st.table将所有数据平铺下去展示,加装时间也明显长很多。
  1. # 创建大数据集
  2. np.random.seed(0)
  3. data = {
  4.     "ID": np.arange(1, 10001),
  5.     "值1": np.random.rand(10000),
  6.     "值2": np.random.rand(10000),
  7.     # ... 可以添加更多列
  8. }
  9. df = pd.DataFrame(data)
  10. st.header("st.dataframe", width=400, height=600)
  11. # 使用st.dataframe显示大数据集
  12. st.dataframe(df)
  13. st.header("st.table")
  14. # 使用st.table显示大数据集(可能性能不佳)
  15. # 对于大数据集,st.table可能不是最佳选择
  16. st.table(df)
复制代码

4. 总结

总得来看,st.dataframe 更适合需要高级功能和动态交互的场景,
而 st.table 则更适合简单、快速的表格展示。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81428

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表