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>°F"),
)
)
gt_airquality
这个更复杂的示例展示了:
- 多级表头设置
- 列分组(使用表头跨列)
- 列顺序调整
- 自定义列标签(支持HTML格式)
- 单位符号和换行处理
总结
Great Tables为Python用户提供了一个强大而灵活的工具,可以轻松将普通的数据表格转换为专业级的展示表格。通过简单的链式调用,用户可以:
- 快速创建基础表格
- 添加丰富的元数据(标题、注释等)
- 对表格进行高级格式设置
- 支持多种数据框架(Pandas和Polars)
无论是学术研究、商业报告还是数据可视化项目,Great Tables都能帮助您创建既美观又专业的表格展示效果。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考