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

标签 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

我希望我的数据框中最后使用的列。 提前致谢。

最佳答案

使用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

关于python - 如何使用 groupby 计算数据框中先前使用的产品数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53348393/

相关文章:

r - ggplot 在 R 中使用多个 data.frame 的 facet_wrap ?

python - 用于 python 日志级别和调试级别的 Google api 客户端不起作用

python - 提取两个不同标签之间的文本 beautiful soup

python - 修改具有重复项的 Python DataFrame 行

elasticsearch - 如何使用 Pyspark 和 Dataframes 查询 Elasticsearch 索引

python - 如何在 Plotly 中为瀑布图添加总值列

python 套接字服务器超时

python - 在 Altair 中隐藏顶轴

python - Pandas 将数据帧值转换为列名

python pandas如何通过其他数据框扩展数据框