pandas groupby sum和agg

问题描述 投票:0回答:1

我有一个看起来像这样的数据框:

    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()

但是我得到错误的结果。我的代码正确吗?

python pandas
1个回答
1
投票

使用此:

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
© www.soinside.com 2019 - 2024. All rights reserved.