前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >绝了! 这个库让Pandas数据框互动起来了!

绝了! 这个库让Pandas数据框互动起来了!

作者头像
可以叫我才哥
发布2024-04-12 15:02:59
660
发布2024-04-12 15:02:59
举报
文章被收录于专栏:可以叫我才哥可以叫我才哥

今天我们介绍的是一个神奇的库 -- ITables ,它是获得 MIT 许可的 Python 软件包,是一个可使用DataTables[1] JavaScript 库渲染 Python DataFrames 的交互式表格。刚刚发布的 ITables 2.0 增加了对 DataTables 扩展库的支持。

如何使用 ITables

可以使用 pip 或 conda 安装 ITables:

代码语言:javascript
复制
pip install itables

或者

代码语言:javascript
复制
conda install itables

ITables 本质上是DataTables[2] 的 Python 封装。我们已设法将其依赖性降至最低:ITables 仅需要IPythonpandasnumpy,如果在 Jupyter 中使用 Pandas,您必须已经拥有这些资源(如果希望将 ITables 与PolarsDataFrames 结合使用,请添加 polarspyarrow)。

要在笔记本中使用 ITables,请运行以下代码片段:

代码语言:javascript
复制
from itables import init_notebook_mode

init_notebook_mode(all_interactive=True)

之后,每个 Pandas 或 Polars DataFrame 都将使用DataTables库显示。有了 DataTables,可以更轻松、更全面地访问数据。可以展开表格,浏览不同页面,对数据进行排序,甚至搜索数据,而无需返回 Python 提示符。

使用 ITables 展示 Pandas DataFrame

要将特定表格渲染为交互式 DataTable,或将参数传递给 DataTable 构造函数,可以使用show函数:

代码语言:javascript
复制
from itables import show

DataTables 扩展

下载数据

有了 DataTables 的Buttons[3]扩展,下载数据就变得非常简单:

代码语言:javascript
复制
show(df, buttons=["copyHtml5", "csvHtml5", "excelHtml5"])

The Copy/CSV/Excel buttons

级联搜索

SearchPanes[4]扩展可以对有重复值的列进行快速、直观的搜索:

SearchPanes 扩展

搜索生成器

我觉得SearchBuilder[5]扩展非常有用。此外,我还喜欢设置预定义搜索并只显示我们想关注的数据集部分的选项。

SearchBuilder扩展

下采样

最后我需要介绍一下 ITables 的下采样[6]机制。默认情况下,只显示估计大小不超过 64kB(不超过 200 列)的表格子集。可以通过

代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 可以叫我才哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何使用 ITables
  • DataTables 扩展
    • 下载数据
      • 级联搜索
        • 搜索生成器
          • 下采样
            • 参考资料
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档