Great Tables 入门指南:打造专业级数据展示表格

Great Tables 入门指南:打造专业级数据展示表格

great-tables Easily generate information-rich, publication-quality tables from Python great-tables 项目地址: https://gitcode.com/gh_mirrors/gr/great-tables

什么是Great Tables?

Great Tables是一个专注于简化专业展示表格创建的Python库。与普通的数据表格(如DataFrame)不同,Great Tables专注于生成适合网页、期刊文章或杂志中使用的精美展示表格。这类表格通常被称为演示表格、汇总表格或简称为展示表格。

展示表格的主要特点是:

  • 仅用于输出展示,不适合作为数据输入
  • 支持丰富的注释和样式设置
  • 提供文本转换功能以更清晰地传达信息
  • 专为数据可视化呈现而设计

安装Great Tables

安装过程非常简单,只需执行以下命令:

pip install great_tables

基础使用示例

准备工作

首先我们需要导入必要的模块和示例数据:

from great_tables import GT, md, html
from great_tables.data import islands

# 获取示例数据集的前10行
islands_mini = islands.head(10)

islands数据集是一个简单的Pandas DataFrame,包含两列数据,非常适合作为入门示例。

创建基础表格

Great Tables的核心入口是GT类,我们可以用它来创建展示表格:

# 创建一个展示表格,显示世界上最大的10个岛屿
gt_tbl = GT(islands_mini)

# 显示输出表格
gt_tbl

这个基础表格已经具备了列标签和数据展示功能。虽然简单,但已经是一个结构完整的表格。

使用环境说明

Great Tables通常在以下环境中使用效果最佳:

  • Jupyter Notebook环境
  • Quarto文档

在普通Python控制台中,表格不会直接打印出来,但可以通过调用GT.show()方法在默认浏览器中打开HTML表格。

支持多种数据框架

Great Tables不仅支持Pandas DataFrame,还支持Polars DataFrame。

使用Polars DataFrame的两种方式

import polars as pl

df_polars = pl.from_pandas(islands_mini)

# 方法1:直接调用GT
GT(df_polars)

# 方法2:使用Polars的style属性
df_polars.style

需要注意的是,Polars的DataFrame.style属性目前仍被视为不稳定功能,未来可能会有变化。而直接使用GT处理Polars DataFrame则始终可靠。

进阶示例展示

示例1:岛屿数据美化

(
    GT(islands_mini, rowname_col="name")
    .tab_header(
        title="Large Landmasses of the World",
        subtitle="The top ten largest are presented"
    )
    .tab_source_note(
        source_note="Source: The World Almanac and Book of Facts, 1975, page 406."
    )
    .tab_source_note(
        source_note=md("Reference: McNeil, D. R. (1977) *Interactive Data Analysis*. Wiley.")
    )
    .tab_stubhead(label="landmass")
)

这个示例展示了如何:

  • 添加表格标题和副标题
  • 设置行名列
  • 添加数据来源注释
  • 使用Markdown格式的引用说明
  • 设置表头标签

示例2:空气质量数据展示

from great_tables.data import airquality

airquality_m = airquality.head(10).assign(Year=1973)

gt_airquality = (
    GT(airquality_m)
    .tab_header(
        title="New York Air Quality Measurements",
        subtitle="Daily measurements in New York City (May 1-10, 1973)",
    )
    .tab_spanner(label="Time", columns=["Year", "Month", "Day"])
    .tab_spanner(label="Measurement", columns=["Ozone", "Solar_R", "Wind", "Temp"])
    .cols_move_to_start(columns=["Year", "Month", "Day"])
    .cols_label(
        Ozone=html("Ozone,<br>ppbV"),
        Solar_R=html("Solar R.,<br>cal/m<sup>2</sup>"),
        Wind=html("Wind,<br>mph"),
        Temp=html("Temp,<br>&deg;F"),
    )
)

gt_airquality

这个更复杂的示例展示了:

  • 多级表头设置
  • 列分组(使用表头跨列)
  • 列顺序调整
  • 自定义列标签(支持HTML格式)
  • 单位符号和换行处理

总结

Great Tables为Python用户提供了一个强大而灵活的工具,可以轻松将普通的数据表格转换为专业级的展示表格。通过简单的链式调用,用户可以:

  1. 快速创建基础表格
  2. 添加丰富的元数据(标题、注释等)
  3. 对表格进行高级格式设置
  4. 支持多种数据框架(Pandas和Polars)

无论是学术研究、商业报告还是数据可视化项目,Great Tables都能帮助您创建既美观又专业的表格展示效果。

great-tables Easily generate information-rich, publication-quality tables from Python great-tables 项目地址: https://gitcode.com/gh_mirrors/gr/great-tables

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董灵辛Dennis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值