我正在尝试更改MultiIndex中单列级别的标签。将列标签的级别添加到MultiIndex中
例如,
test = pd.DataFrame(np.random.random((4,4)))
test.columns = pd.MultiIndex.from_product([['Level1'],['A','B','C','D'],['Level3']])
Out:
Level1
A B C D
Level3 Level3 Level3 Level3
0 0.153388 0.253070 0.338756 0.025598
1 0.818954 0.169352 0.851079 0.823263
2 0.535703 0.432627 0.690446 0.599997
3 0.304654 0.919936 0.095747 0.404449
我想的第3等级的标签改变为[ '1', '2', '3', '4'],但无法找到的一个干净的方式正在做。
我试过下面给出了16个元素的迭代,所以不是我所需要的。
test.columns = pd.MultiIndex.from_product([['Level1'],['A','B','C','D'],['1','2','3','4']])
我发现在开始手动定义每个级别并重新定义了多指标的唯一解决方法
例如,
level1 = ['Level1','Level1','Level1','Level1']
level2 = ['A','B','C','D']
level3 = ['1','2','3','4']
test = pd.DataFrame(np.random.random((4,4)),columns=[level1,level2,level3])
有一个整齐的解决方案?我正在处理大型数据集,因此上述过程非常繁琐。
但这里有一个语义上的区别,在你的初始构造中,第2级的标签是相同的,所以你不能只重命名级别,因为它会再次将所有列设置为同一级别的名称,而后一种方法定义了4级该级别的不同标签值 – EdChum