我有一个看起来像这样的数据框:
time amount user
0 2020-06 1 A
1 2020-06 1 B
2 2020-04 1 C
3 2020-04 2 A
4 2020-02 1 C
我想做类似的事情:
2020-02 2020-04 2020-06
A 0 2 1
B 0 0 1
C 1 1 0
我正在使用此代码
df.groupby(['user','time'])['amount'].sum()
df.unstack().fillna(0).reset_index()
但是我得到错误的结果。我的代码正确吗?
使用此:
df.set_index(['user','time'])['amount'].unstack(fill_value=0)
输出:
time 2020-02 2020-04 2020-06
user
A 0 2 1
B 0 0 1
C 1 1 0