You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对Pandas DataFrame分组并输出分组样式的HTML表格

实现步骤

要生成带合并分组样式的HTML表格,核心是先为DataFrame配置多级索引,导出HTML时开启单元格合并参数即可,具体操作如下:

1. 构造示例原始数据(可替换为你的实际数据)

import pandas as pd

# 模拟基础数据,分组维度为「大区-省份」,和示例场景匹配
raw_df = pd.DataFrame({
    '大区': ['华东', '华东', '华东', '华北', '华北', '华南'],
    '省份': ['上海', '江苏', '浙江', '北京', '河北', '广东'],
    '销售额(万元)': [1200, 980, 850, 1100, 720, 1300],
    '同比增速': [12.5, 8.2, 9.6, 10.3, 7.8, 14.1]
})

2. 配置分组索引

把需要作为分组维度的列设置为多级行索引,后续导出时会自动合并同组的相同值:

grouped_df = raw_df.set_index(['大区', '省份'])

如果需要做多列表头的分组,可使用pivot_table生成多级列索引:

# 示例:按「年份-指标」做列分组
pivot_df = raw_df.pivot_table(
    index='省份',
    columns=['年份', '指标'],
    values='数值',
    aggfunc='sum'
)

3. 导出为分组样式HTML

调用to_html方法时开启merge_cells参数,即可自动生成带合并单元格的HTML表格:

html_content = grouped_df.to_html(
    merge_cells=True, # 核心参数:合并相同索引的单元格
    border=1,
    justify='center',
    encoding='utf-8'
)

# 可直接导出为HTML文件
with open('分组表格.html', 'w', encoding='utf-8') as f:
    f.write(html_content)

生成的HTML会自动为相同分组的单元格添加rowspan/colspan属性,渲染效果和你示例的分组表格一致,如需调整样式可以给to_html传入classes参数自定义CSS样式。

内容的提问来源于stack exchange,提问作者Joker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 06:30:04