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

如何将多级索引DataFrame转换为指定格式的Markdown表格?

如何将多级索引的DataFrame导出为拆分列的Markdown表格?

我有一个带多级索引的DataFrame,想要生成的Markdown表格格式如下:

|       |          |   col | 
|-------|----------|-------|
| April |    1     |     6 |
| April |    2     |     7 |
| August|    1     |    14 |

但使用df.to_markdown(tablefmt='github')后得到的结果是:

|                  |   col |
|------------------|-------|
| ('April', 1)     |     6 |
| ('April', 2)     |     7 |
| ('August', 1)    |    14 |

请问怎么实现我想要的表格格式?


解决方案

核心思路是先把多级索引转换为普通列,再导出Markdown表格:

  1. 重置多级索引为列
    使用reset_index()方法将原来的多级索引拆解成单独的列:
df_reset = df.reset_index()

如果你的多级索引没有命名,生成的列名会是level_0、level_1这类默认名称。

  1. 生成目标格式的Markdown表格
    对重置后的DataFrame调用to_markdown():
print(df_reset.to_markdown(tablefmt='github'))

自定义表头名称

如果想给拆分后的索引列设置自定义名称,先给多级索引命名再重置:

# 给多级索引设置名称
df.index.names = ['Month', 'Num']
# 重置索引
df_reset = df.reset_index()
# 生成表格
print(df_reset.to_markdown(tablefmt='github'))

空表头效果

如果想要和示例一样的空表头,重置后重命名列即可:

df_reset = df.reset_index().rename(columns={'level_0': '', 'level_1': ''})
print(df_reset.to_markdown(tablefmt='github'))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:55:21