gpt4 book ai didi

python - 按其他列值汇总行 - Python/Pandas 中的 Countif

转载 作者:行者123 更新时间:2023-11-30 22:09:30 24 4
gpt4 key购买 nike

我有一个包含此数据集的 df:

customer action    date
1049381 share 9/29/2017
1049381 level_up 10/6/2017
105460 share 9/22/2017
105460 share 9/23/2017
105668 level_up 9/8/2017
105668 share 9/8/2017
105668 level_up 9/18/2017
105668 share 9/18/2017
105668 share 9/20/2017
905669 share 9/25/2017
905669 level_up 9/25/2017

我想统计(总结)用户在同一天进行“level_up”和“share”的情况。像这样:

customer  share_wth_level_up
1049381 0
105460 0
105668 2
905669 1

我已经开始使用pandas,但我找不到解决方案,因为它没有为每一行提供汇总的 df(唯一)。

df.groupby(['customer','date']).size().value_counts()

结果

最佳答案

一种解决方案是使用 GroupBy + nunique 并测试长度是否等于 2。然后使用 GroupBy + sum 对这些实例进行总计。

df_grp = df.groupby(['customer', 'date'])['action'].nunique() == 2
res = df_grp.groupby('customer').sum().astype(int)

print(res)

customer
105460 0
105668 2
905669 1
1049381 0
Name: action, dtype: int32

关于python - 按其他列值汇总行 - Python/Pandas 中的 Countif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51903925/

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