我正在嘗試更改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