簡體   English   中英

熊貓:將多標題列的某個級別旋轉到行索引中

[英]Pandas: pivot a level of a multi-header column into the row index

給我們一個帶有多級標題的表:

cols = pd.MultiIndex.from_arrays([['a','a', 'b','b'], [0,1,0,1]], 
                                 names=('I','II'))
df = pd.DataFrame(np.random.rand(3,4),columns=cols)
df.index.name = 'idx' 

I          a                   b
II         0         1         0         1
idx
0    0.851031  0.294414  0.503343  0.081551
1    0.333798  0.965863  0.206981  0.898823
2    0.520647  0.868081  0.571291  0.275164

我如何“轉動”的第一列的索引I入行索引? 繼續我的示例,我想實現以下目標:

    II          0         1 
I   idx
a   0    0.851031  0.294414  
    1    0.333798  0.965863  
    2    0.520647  0.868081  
b   0    0.503343  0.081551  
    1    0.206981  0.898823  
    2    0.571291  0.275164  

確保了柱具有用於這種操作的適當形狀。

您可以將2個呼叫鏈接到unstack

df.unstack('idx').unstack('II')

II            0         1
I idx                    
a 0    0.406855  0.666815
  1    0.930418  0.204731
  2    0.715580  0.432077
b 0    0.879814  0.278757
  1    0.294891  0.001818
  2    0.453212  0.452945

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM