2015-09-25 33 views

回答

0

鑑於你有,你可以使用拆散()在0級

import pandas as pd 
import numpy as np 

index = pd.MultiIndex.from_tuples([(0,0),(0,1),(1,0),(1,1)]) 
df = pd.DataFrame([[1],[2],[3],[4]] , index=index, columns=[0]) 

print df.unstack(level=[0]) 


    0 
    0 1 
0 1 3 
1 2 4 
2

一種方式是重置索引,然後轉動對指數的level_1表的索引,並使用level_0爲列和0的值。示例 -

df.reset_index().pivot(index='level_1',columns='level_0',values=0) 

演示 -

In [66]: index = pd.MultiIndex.from_tuples([(0,0),(0,1),(1,0),(1,1)]) 

In [67]: df = pd.DataFrame([[1],[2],[3],[4]] , index=index, columns=[0]) 

In [68]: df 
Out[68]: 
    0 
0 0 1 
    1 2 
1 0 3 
    1 4 

In [69]: df.reset_index().pivot(index='level_1',columns='level_0',values=0) 
Out[69]: 
level_0 0 1 
level_1 
0  1 3 
1  2 4 

後來,如果你願意,你可以爲columns設置了index.name屬性以及空字符串或任何你想要的,如果你不」那裏想要level_*

+0

作品多指數...感謝一噸! –

+0

很高興我能幫到你。我還想要求您接受答案(通過點擊答案左側的勾號),這對社區會有幫助。 –

相關問題