如何使用groupby计算数据帧中先前使用的产品数量?

时间:2018-11-17 05:03:07

标签: python pandas dataframe

我有一个数据框,其中提供了用户ID,产品和产品类别。 我想为数据框创建一个功能,该功能可以告诉用户该用户先前已经消费了该产品多少次。 用户6已在最后一行中两次获得产品8。

user_id products last_used
    1   8           0     
    2   2           0       
    4   2           0
    6   8           0
    6   2           0
    1   8           1
    2   2           1
    6   8           1
    6   8           2

我要在我的数据框中使用该最后使用的列。 预先感谢。

1 个答案:

答案 0 :(得分:2)

使用groupbycumcount

df['last_used'] = df.groupby(['user_id','products'])['products'].cumcount()

print(df)
   user_id  products  last_used
0        1         8          0
1        2         2          0
2        4         2          0
3        6         8          0
4        6         2          0
5        1         8          1
6        2         2          1
7        6         8          1
8        6         8          2