我的数据框 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
有什么想法吗?
由于
答案 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