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

如何将单级列的扁平化DataFrame恢复为多级索引DataFrame?

将扁平化单级列的DataFrame恢复为多级索引DataFrame

核心解决方法

如果你的DataFrame列是通过to_flat_index()扁平化得到的(列名本身是元组类型),直接使用pd.MultiIndex.from_tuples()就能快速恢复多级索引:

import pandas as pd

# 假设df是已扁平化后的目标DataFrame
df.columns = pd.MultiIndex.from_tuples(df.columns)

print(df)

运行后会输出恢复后的多级索引格式:

A     B    
   a  b  a   b
0  1  4  7  10
1  2  5  8  11
2  3  6  9  12

特殊情况处理

如果你的扁平化列名是字符串格式(比如列名显示为"(A, a)"这种字符串而非原生元组),需要先将字符串解析为元组,再进行转换:

import pandas as pd
import ast

# 解析字符串格式的列名为元组,再转换为多级索引
df.columns = pd.MultiIndex.from_tuples(ast.literal_eval(col) for col in df.columns)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 23:25:17