gpt4 book ai didi

python - 我在 groupby 上应用了 sum() ,我想对最后一列的值进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 15:53:57 25 4
gpt4 key购买 nike

给定以下数据框

user_ID  product_id  amount
1 456 1
1 87 1
1 788 3
1 456 5
1 87 2
... ... ...

第一列是客户的 ID,第二列是他购买的产品的 ID,“金额”表示当天购买的产品数量(日期也被考虑在内)。客户每天可以购买任意数量的产品。我想计算每个产品被客户购买的总次数,所以我应用了一个 groupby

df.groupby(['user_id','product_id'], sort=True).sum()

现在我想对每个组中的金额总和进行排序。有帮助吗?

最佳答案

假设 df 是:

     user_ID  product_id  amount
0 1 456 1
1 1 87 1
2 1 788 3
3 1 456 5
4 1 87 2
5 2 456 1
6 2 788 3
7 2 456 5

然后您可以像以前一样使用groupbysum,此外您可以按两列[user_ID, amount]ascending=[True,False]指的是用户升序,每个用户的金额降序:

new_df = df.groupby(['user_ID','product_id'], sort=True).sum().reset_index()
new_df = new_df.sort_values(by = ['user_ID', 'amount'], ascending=[True,False])
print(new_df)

输出:

     user_ID   product_id  amount
1 1 456 6
0 1 87 3
2 1 788 3
3 2 456 6
4 2 788 3

关于python - 我在 groupby 上应用了 sum() ,我想对最后一列的值进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44742945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com