gpt4 book ai didi

python - 如何获取 Pandas groupby 中的不同计数

转载 作者:行者123 更新时间:2023-12-01 03:08:12 26 4
gpt4 key购买 nike

我想获取每个 order_number 的产品的不同数量。我设法获得了total_product计数(感谢另一个SO用户的帮助),但我无法计算出不同的计数。

这就是我所拥有的:

data['total_productcount'] = data.groupby(['order_number'])['order_number'].transform('size')

它给出:

order_number          product_id      total_productcount   
171-1046037-0511522 4260179734731 5
171-1046037-0511522 4054673034394 5
171-1046037-0511522 4054673001235 5
171-1046037-0511522 4054673005752 5
171-1046037-0511522 5011385960075 5
171-1046037-0511522 5011385960075 5

这是我想生成的数据框(包括:distic_productcount)

order_number          product_id      total_productcount   distict_productcount
171-1046037-0511522 4260179734731 5 1
171-1046037-0511522 4054673034394 5 1
171-1046037-0511522 4054673001235 5 1
171-1046037-0511522 4054673005752 5 1
171-1046037-0511522 5011385960075 5 1
171-1046037-0511522 5011385960075 5 2

如何生成“distict_productcount”?

最佳答案

data.groupby('order_number').product_id.nunique()

您可以使用transformjoin来获取新列

通过转换

s = data.groupby('order_number').product_id.transform('nunique')
df = df.assign(distinct_productcount=s)

通过加入

s = data.groupby('order_number').product_id.nunique()
df = df.join(s.rename('distinct_productcount'), on='order_number')

关于python - 如何获取 Pandas groupby 中的不同计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43137444/

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