gpt4 book ai didi

python - Pandas 仅返回重复结果

转载 作者:太空宇宙 更新时间:2023-11-03 18:45:12 24 4
gpt4 key购买 nike

我有一个包含以下列的 Pandas DataFrame:

UserID, Date, (other columns that we can ignore here)

我试图仅选择在多个日期访问过的用户。我目前正在使用 groupby(['UserID', 'Date']) 和一个 for 循环来完成此操作,其中我删除只有一个结果的用户,但我觉得有一种更好的方法来做到这一点。

谢谢

最佳答案

这取决于您想要获得的输出的确切格式,但您可以对每个 UserID 内的不同日期进行计数,并获取该计数 > 1 的所有日期(例如 having count(distinct Date) > 1 in SQL):

>>> df
Date UserID
0 2013-01-01 00:00:00 1
1 2013-01-02 00:00:00 2
2 2013-01-02 00:00:00 2
3 2013-01-02 00:00:00 1
4 2013-01-02 00:00:00 3
>>> g = df.groupby('UserID').Date.nunique()
>>> g
UserID
1 2
2 1
3 1
>>> g > 1
UserID
1 True
2 False
3 False
dtype: bool
>>> g[g > 1]
UserID
1 2

您会看到结果是 UserID = 1,这是在多个日期访问过的唯一用户

关于python - Pandas 仅返回重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19697235/

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