网站首页 > 基础教程 正文
今天我们介绍的是一个神奇的库 -- ITables ,它是获得 MIT 许可的 Python 软件包,是一个可使用DataTables[1] JavaScript 库渲染 Python DataFrames 的交互式表格。刚刚发布的 ITables 2.0 增加了对 DataTables 扩展库的支持。
如何使用 ITables
可以使用 pip 或 conda 安装 ITables:
pip install itables
或者
conda install itables
ITables 本质上是DataTables[2] 的 Python 封装。我们已设法将其依赖性降至最低:ITables 仅需要IPython、pandas和numpy,如果在 Jupyter 中使用 Pandas,您必须已经拥有这些资源(如果希望将 ITables 与PolarsDataFrames 结合使用,请添加 polars 和pyarrow)。
要在笔记本中使用 ITables,请运行以下代码片段:
from itables import init_notebook_mode
init_notebook_mode(all_interactive=True)
之后,每个 Pandas 或 Polars DataFrame 都将使用DataTables库显示。有了 DataTables,可以更轻松、更全面地访问数据。可以展开表格,浏览不同页面,对数据进行排序,甚至搜索数据,而无需返回 Python 提示符。
要将特定表格渲染为交互式 DataTable,或将参数传递给 DataTable 构造函数,可以使用show函数:
from itables import show
DataTables 扩展
下载数据
有了 DataTables 的Buttons[3]扩展,下载数据就变得非常简单:
show(df, buttons=["copyHtml5", "csvHtml5", "excelHtml5"])
级联搜索
SearchPanes[4]扩展可以对有重复值的列进行快速、直观的搜索:
搜索生成器
我觉得SearchBuilder[5]扩展非常有用。此外,我还喜欢设置预定义搜索并只显示我们想关注的数据集部分的选项。
下采样
最后我需要介绍一下 ITables 的下采样[6]机制。默认情况下,只显示估计大小不超过 64kB(不超过 200 列)的表格子集。可以通过
import itables.options as opt
opt.maxBytes = 131072
opt.maxColumns = 0
通过查看表格右下方的表格摘要,可以判断表格是否进行了向下采样。
向下采样时,只有一部分数据被传递到 DataTables,因此搜索或数据导出功能只能访问这部分数据集。
向下采样是 ITables 快速运行的关键。在将opt.maxBytes设置为大数值或0 之前,请三思而后行,这很有可能会冻结你的notebook 。显示 1G 的 DataFrame 至少会让notebook 变得同样大(由于数据已导出为 JSON,所以可能会更大),而且目前还不清楚浏览器是否支持。
参考资料
[1] DataTables: https://datatables.net/
[2] DataTables: https://datatables.net/
[3] Buttons: https://mwouts.github.io/itables/extensions.html#buttons
[4] SearchPanes: https://mwouts.github.io/itables/extensions.html#searchpanes
[5] SearchBuilder: https://mwouts.github.io/itables/extensions.html#searchbuilder
[6] 下采样: https://mwouts.github.io/itables/downsampling.html
- 上一篇: 可视化报表工具(自己开发)
- 下一篇: 一款高度可定制化的数据可视化分析平台
猜你喜欢
- 2025-01-14 手机帝国存档怎么修改 存档简单修改教程
- 2025-01-14 文档在线预览(四) 总结篇
- 2025-01-14 MySQL数据库表碎片收集整理那些事
- 2025-01-14 刘心向学(8)指针数组的应用
- 2025-01-14 C#控件美化之路(11):控件ListBox增加DataTable数据绑定功能
- 2025-01-14 一文看懂MySQL如何判断InnoDB表是独立表空间还是共享表空间
- 2025-01-14 SpringBoot实现MySQL数据库自动备份管理系统
- 2025-01-14 一键生成数据库文档,从此告别人工整理文档
- 2025-01-14 all about visitor management system you need to know 03
- 2025-01-14 一篇文章教会你进行Mysql数据库和数据表的基本操作
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)