2015-12-10 34 views
1

我目前正在跟随Wes McKinneys关于熊猫的教程,我想知道是否有可能在其中做某件事情。我将用一个例子来解释: 我有一个数据帧:熊猫改变数据帧结构

A B C 
0 1 foo data1 
1 5 foo2 data2 
2 8 foo3 data3 
3 6 foo data4 
4 5 foo3 data5 
5 3 foo2 data1 

我想以前的数据帧变换到一个新的,看起来像这样:

 data1 data2 data3 data4 data5 
foo 1  0  0  6  0 
foo2 3  5  0  0  0 
foo3 0  0  8  0  5 

另外,我不能有两次相同的foo-data组合,所以我不在乎覆盖值。

熊猫可以吗?

回答

5

您可以透过原始数据框df设定索引,列和值的正确值。

a = df.pivot_table(index='B',columns='C',values='A').fillna(0) 

fillna(0)0值替换NaN

C  data1 data2 data3 data4 data5 
B          
foo  1  0  0  6  0 
foo2  3  5  0  0  0 
foo3  0  0  8  0  5 
+0

感谢您的快速回答,这确实有窍门! – user1823812