Pandas展开到顶部列级别

2024-10-04 15:26:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下数据帧:

df = pd.DataFrame({'Col1':[10,20,30,40,50], 'Col2':[60,70,80,90,100]}, index=pd.MultiIndex.from_arrays([['A','A','A','B','B'], [1,2,3,4,5]]))

我希望获得以下资料:

'A'                'B' 
'Col1'  'Col2'    'Col1'   'Col2'
 10      60        NaN      NaN
 20      70        NaN      NaN
 30      80        NaN      NaN 
 NaN     NaN       40       90 
 NaN     NaN       50       100

我尝试使用df.unstack(0).swaplevel(0,1,axis=1),但结果是:

'A'     'B'       'A'      'B' 
'Col1'  'Col1'    'Col2'   'Col2'
10      NaN        60      NaN
20      NaN        70      NaN
30      NaN        80      NaN
NaN     40         NaN     90
NaN     50         NaN     100 

有人能给我指出正确的方向吗


Tags: 数据fromdataframedfindexnancol2col1
1条回答
网友
1楼 · 发布于 2024-10-04 15:26:34

^{}axis=1level=0的索引,您将获得所需的视图:

df.unstack(0).swaplevel(0,1,axis=1).sort_index(axis=1)

   A           B       
   Col1  Col2  Col1   Col2
1  10.0  60.0   NaN    NaN
2  20.0  70.0   NaN    NaN
3  30.0  80.0   NaN    NaN
4   NaN   NaN  40.0   90.0
5   NaN   NaN  50.0  100.0

相关问题 更多 >

    热门问题