数据展示组件在Streamlit各类组件中占据了至关重要的地位,

它的核心功能是以直观、易于理解的方式展示数据。

本次介绍的数据展示组件st.dataframest.table,能够将复杂的数据集以表格、图表等形式清晰地呈现出来,使得用户能够快速把握数据的整体情况和细节特征。

1. st.dataframe

st.dataframe以易读且美观的方式展示pandasDataFrame

无论是处理小型数据集还是庞大的数据表,st.dataframe都能轻而易举展示数据。

st.dataframe适用于需要在Web应用中展示复杂数据集的场景。

首先,它能够自动适应屏幕宽度,并支持水平或垂直滚动,确保用户能方便地浏览整个数据集。

此外,st.dataframe还支持对数据进行排序、筛选和搜索等操作,增强了数据的可读性和交互性。

2. st.table

st.table也是用于在Web应用中显示表格数据,

它可以显示交互式表格,并提供多种自定义设置来满足各类需求。

st.dataframe相比,st.table更适用于当数据集不是特别庞大且需要保持清晰可读性的场景。

它允许用户通过简单的配置来调整表格的显示方式,如列宽、行高等。

3. 两者区别

这两个组件都用于展示数据,都支持多种类型的数据对象作为输入,比如pandas.DataFramenumpy.ndarrayIterabledict等等。

但是在交互性显示方式功能丰富度上面是有区别的,

下面通过一个示例来演示两者在使用上的区别,

先使用 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』--数据展示组件的更多相关文章

  1. Github 恶搞教程(一起『玩坏』自己的 Github 吧)

    最近在伯乐在线读到一篇趣文,<如何在 Github『正确』做贡献>,里面各种能人恶搞 Github 的『Public contributions』,下面截取几个小伙伴的战绩: 顺藤摸瓜,发 ...

  2. layui数据表格使用(一:基础篇,数据展示、分页组件、表格内嵌表单和图片)

    表格展示神器之一:layui表格 前言:在写后台管理系统中使用最多的就是表格数据展示了,使用表格组件能提高大量的开发效率,目前主流的数据表格组件有bootstrap table.layui table ...

  3. 『NiFi 学习之路』使用 —— 主要组件的使用

    一.概述 大部分 NiFi 使用者都是通过 NiFi 的 Processor 来实现自己的业务的.因此,我也主要就 NiFi 官方提供的 Porcessor 进行介绍. 二.Processor 如果你 ...

  4. .NET Core开发的iNeuOS工业互联网平台,发布 iNeuDA 数据分析展示组件,快捷开发图形报表和数据大屏

    目       录 1.      概述... 2 2.      演示信息... 2 3.      简单介绍... 3 4.      产品特点... 4 5.      价值体现... 5 1. ...

  5. 前端的UI设计与交互之数据展示篇

    合适的数据展示方式可以帮助用户快速地定位和浏览数据,以及更高效得协同工作.在设计时有以下几点需要注意:依据信息的重要等级.操作频率和关联程度来编排展示的顺序.注意极端情况下的引导.如数据信息过长,内容 ...

  6. 2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践

    2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践 一 免杀原理与实践说明 (一).实验说明 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件, ...

  7. 2017-2018-2 20155303『网络对抗技术』Exp9:Web安全基础

    2017-2018-2 『网络对抗技术』Exp9:Web安全基础 --------CONTENTS-------- 一.基础问题回答 1.SQL注入攻击原理,如何防御? 2.XSS攻击的原理,如何防御 ...

  8. 2017-2018-2 20155303『网络对抗技术』Exp1:PC平台逆向破解

    2017-2018-2 『网络对抗技术』Exp1:PC平台逆向破解 --------CONTENTS-------- 1. 逆向及Bof基础实践说明 2. 直接修改程序机器指令,改变程序执行流程 3. ...

  9. ExtJS 4.2 业务开发(二)数据展示和查询

    本篇开始模拟一个船舶管理系统,提供查询.添加.修改船舶的功能,这里介绍其中的数据展示和查询功能. 目录 1. 数据展示 2. 数据查询 3. 在线演示 1. 数据展示 在这里我们将模拟一个船舶管理系统 ...

  10. 你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(上)

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

随机推荐

  1. AI驱动的PlantUML:快速生成专业级UML图表

    **对于程序员来说,编写验收文档中的各种UML图是最让人头疼的事情之一,相信各位读者对此深有体会.** 本文将探讨如何利用AI驱动的PlantUML来快速生成专业级别的UML图表,从而减轻这一负担. ...

  2. 谈谈 Nginx 那点事【二】

    前言 在上一讲 谈谈 Nginx 那点事[一] 中,介绍了Nginx的安装及基本结构,今天将工作中Nginx的一些配置,及常用的场景做一些总结. 这一讲总结的内容主要是关于Nginx服务配置.静态资源 ...

  3. 【2019年第一篇总结】之Mac安装Python系列软件目录汇总

    1.第一步,安装Python环境 <[Mac + Python]苹果系统之安装Python3.6.x环境> 2.安装PyCharm并激活 <[转载][Pycharm编辑器破解步骤]之 ...

  4. vue echarts map 中国地图显示不出来

    测试区忽然无法显示中国地图,所以对比了一下测试区与开发环境中echarts版本的区别 测试区echarts版本为 5.4.2 开发环境为5.0.2 所以将package.json中的 "ec ...

  5. 关于安装李沐深度学习d2l包报错的解决办法(保姆教程)

    目录 目录:d2l包安装失败的解决过程 前言 一.李沐提供的安装方式 1. 创建一个新的环境 2. 激活 d2l 环境 3. 安装深度学习框架和d2l软件包 3.1 安装PyTorch的CPU或GPU ...

  6. 在.net core使用Serilog,只要简单的三步

    第一步:在项目上用nuget安装 Serilog.AspNetCore 最新的稳定版即可 ,安装这个会把其他需要的包都给包含着 第二步:修改 Program.cs 的 CreateHostBuilde ...

  7. SQL Server磁盘空间清理 【转】

    SQL Server在删除数据后,会重新利用这部分空间,所以如果不是空间紧张的情况下,可以不回收.回收一般先回收日志文件,因为这个回收速度非常快,可以短时间内清理出一部分可用空间.回收步骤: 1.查看 ...

  8. 学习高校课程-软件设计模式-OOP 和 UML 类图 OOP 与 Java(lec1)

    Lecture 1:OOP and UML Class DiagramsOOP with Java OOP 和 UML 类图 OOP 与 Java Object-Oriented Programmin ...

  9. Nuxt Kit 中的上下文处理

    title: Nuxt Kit 中的上下文处理 date: 2024/9/16 updated: 2024/9/16 author: cmdragon excerpt: Nuxt Kit 提供的上下文 ...

  10. 11-02 NOIP练习赛

    11-02 NOIP练习赛 为什么休息的天还要打练习赛,这不公平!!!!!!!!!! oh no! 但是三道题确实挺简单,也少见的很有意思. [USACO23OPEN] Milk Sum S 题面翻译 ...