使用某些行作为列来创建DataFrame

时间:2014-08-25 12:57:03

标签: python pandas

我的数据框 DF 看起来像

DF =

     Date            Counterparty    Amount
0    2014-08-25      A               100
1    2014-08-25      A               200   
2    2014-08-25      B               300   
3    2014-08-26      C               400 
4    2014-08-27      C               500  
5    2014-08-27      A               600
6    2014-08-29      D               1000

我想以某种方式创建一个新的数据框 DF_new ,其中包含 DF 行的(唯一)列:'Counterparty'来自列'Amount'的汇总金额。在代码中,结果看起来像

DF_new =

     Date            A            B            C            D
0    2014-08-25      300          300          0            0
1    2014-08-26      0            0            400          0      
2    2014-08-27      600          0            500          0      
3    2014-08-29      0            0            0            1000      

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:3)

您可以使用pivot_table方法

In [41]: df.pivot_table(
             values='Amount', rows=['Date'], 
             cols=['Counterparty'], aggfunc='sum', 
             fill_value=0)
Out[41]: 
Counterparty    A    B    C     D
Date                             
2014-08-25    300  300    0     0
2014-08-26      0    0  400     0
2014-08-27    600    0  500     0
2014-08-29      0    0    0  1000