如何将单级列的扁平化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
相关产品推荐
相关产品推荐

