如何为Pandas DataFrame的列添加顶层Multi-Index/标签
解决方案
不用转置这么麻烦,直接修改DataFrame的列索引为多层索引就行,完全不用手动写列名:
方法一:使用pd.MultiIndex.from_arrays
import pandas as pd tt = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]}) # 生成多层列索引:顶层全是"Table X",底层是原列名 tt.columns = pd.MultiIndex.from_arrays([['Table X'] * len(tt.columns), tt.columns]) print(tt)
方法二:使用pd.MultiIndex.from_tuples
如果觉得数组方式不够直观,也可以用元组推导式生成:
tt.columns = pd.MultiIndex.from_tuples([('Table X', col) for col in tt.columns])
运行后输出就是你要的效果:
Table X A B C 0 1 4 7 1 2 5 8 2 3 6 9
这两种方法都会自动读取原DataFrame的列名,完全不需要手动指定,比转置的方式更高效简洁。
内容的提问来源于stack exchange,提问作者Chronicles
相关产品推荐
相关产品推荐

