『玩转Streamlit』--数据展示组件
数据展示组件在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 显示相同的用户信息数据集,但表格样式会更加简洁,功能相对较少(例如,不支持搜索)。
import streamlit as st
import pandas as pd
# 创建静态数据集
data = {
"姓名": ["张三", "李四", "王五"],
"年龄": [25, 30, 35],
"邮箱": ["zhangsan@example.com", "lisi@example.com", "wangwu@example.com"],
}
df = pd.DataFrame(data)
st.header("st.dataframe")
# 使用st.dataframe显示
st.dataframe(df)
st.header("st.table")
# 使用st.table显示
st.table(df)

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

4. 总结
总得来看,st.dataframe 更适合需要高级功能和动态交互的场景,
而 st.table 则更适合简单、快速的表格展示。
『玩转Streamlit』--数据展示组件的更多相关文章
- Github 恶搞教程(一起『玩坏』自己的 Github 吧)
最近在伯乐在线读到一篇趣文,<如何在 Github『正确』做贡献>,里面各种能人恶搞 Github 的『Public contributions』,下面截取几个小伙伴的战绩: 顺藤摸瓜,发 ...
- layui数据表格使用(一:基础篇,数据展示、分页组件、表格内嵌表单和图片)
表格展示神器之一:layui表格 前言:在写后台管理系统中使用最多的就是表格数据展示了,使用表格组件能提高大量的开发效率,目前主流的数据表格组件有bootstrap table.layui table ...
- 『NiFi 学习之路』使用 —— 主要组件的使用
一.概述 大部分 NiFi 使用者都是通过 NiFi 的 Processor 来实现自己的业务的.因此,我也主要就 NiFi 官方提供的 Porcessor 进行介绍. 二.Processor 如果你 ...
- .NET Core开发的iNeuOS工业互联网平台,发布 iNeuDA 数据分析展示组件,快捷开发图形报表和数据大屏
目 录 1. 概述... 2 2. 演示信息... 2 3. 简单介绍... 3 4. 产品特点... 4 5. 价值体现... 5 1. ...
- 前端的UI设计与交互之数据展示篇
合适的数据展示方式可以帮助用户快速地定位和浏览数据,以及更高效得协同工作.在设计时有以下几点需要注意:依据信息的重要等级.操作频率和关联程度来编排展示的顺序.注意极端情况下的引导.如数据信息过长,内容 ...
- 2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践
2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践 一 免杀原理与实践说明 (一).实验说明 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件, ...
- 2017-2018-2 20155303『网络对抗技术』Exp9:Web安全基础
2017-2018-2 『网络对抗技术』Exp9:Web安全基础 --------CONTENTS-------- 一.基础问题回答 1.SQL注入攻击原理,如何防御? 2.XSS攻击的原理,如何防御 ...
- 2017-2018-2 20155303『网络对抗技术』Exp1:PC平台逆向破解
2017-2018-2 『网络对抗技术』Exp1:PC平台逆向破解 --------CONTENTS-------- 1. 逆向及Bof基础实践说明 2. 直接修改程序机器指令,改变程序执行流程 3. ...
- ExtJS 4.2 业务开发(二)数据展示和查询
本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...
- 你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(上)
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
随机推荐
- AI驱动的PlantUML:快速生成专业级UML图表
**对于程序员来说,编写验收文档中的各种UML图是最让人头疼的事情之一,相信各位读者对此深有体会.** 本文将探讨如何利用AI驱动的PlantUML来快速生成专业级别的UML图表,从而减轻这一负担. ...
- 谈谈 Nginx 那点事【二】
前言 在上一讲 谈谈 Nginx 那点事[一] 中,介绍了Nginx的安装及基本结构,今天将工作中Nginx的一些配置,及常用的场景做一些总结. 这一讲总结的内容主要是关于Nginx服务配置.静态资源 ...
- 【2019年第一篇总结】之Mac安装Python系列软件目录汇总
1.第一步,安装Python环境 <[Mac + Python]苹果系统之安装Python3.6.x环境> 2.安装PyCharm并激活 <[转载][Pycharm编辑器破解步骤]之 ...
- vue echarts map 中国地图显示不出来
测试区忽然无法显示中国地图,所以对比了一下测试区与开发环境中echarts版本的区别 测试区echarts版本为 5.4.2 开发环境为5.0.2 所以将package.json中的 "ec ...
- 关于安装李沐深度学习d2l包报错的解决办法(保姆教程)
目录 目录:d2l包安装失败的解决过程 前言 一.李沐提供的安装方式 1. 创建一个新的环境 2. 激活 d2l 环境 3. 安装深度学习框架和d2l软件包 3.1 安装PyTorch的CPU或GPU ...
- 在.net core使用Serilog,只要简单的三步
第一步:在项目上用nuget安装 Serilog.AspNetCore 最新的稳定版即可 ,安装这个会把其他需要的包都给包含着 第二步:修改 Program.cs 的 CreateHostBuilde ...
- SQL Server磁盘空间清理 【转】
SQL Server在删除数据后,会重新利用这部分空间,所以如果不是空间紧张的情况下,可以不回收.回收一般先回收日志文件,因为这个回收速度非常快,可以短时间内清理出一部分可用空间.回收步骤: 1.查看 ...
- 学习高校课程-软件设计模式-OOP 和 UML 类图 OOP 与 Java(lec1)
Lecture 1:OOP and UML Class DiagramsOOP with Java OOP 和 UML 类图 OOP 与 Java Object-Oriented Programmin ...
- Nuxt Kit 中的上下文处理
title: Nuxt Kit 中的上下文处理 date: 2024/9/16 updated: 2024/9/16 author: cmdragon excerpt: Nuxt Kit 提供的上下文 ...
- 11-02 NOIP练习赛
11-02 NOIP练习赛 为什么休息的天还要打练习赛,这不公平!!!!!!!!!! oh no! 但是三道题确实挺简单,也少见的很有意思. [USACO23OPEN] Milk Sum S 题面翻译 ...