gpt4 book ai didi

python - 计算每天在 Pandas 中看到的新 ID 的数量

转载 作者:行者123 更新时间:2023-11-28 20:40:00 26 4
gpt4 key购买 nike

鉴于以下数据,其中用户每天都很活跃,我想使用 Pandas 计算每天的新用户数量。

Data:
Day | UserID
----------
1 | A
1 | B
1 | C
1 | C
----------
2 | A
2 | B
2 | D
2 | A
2 | E
----------
3 | B
3 | D
3 | F

Result:
Day | New Users
---------------
1 | 3
2 | 2
3 | 1

在我看来,步骤是:

  1. 计算每天的最大 UserID:df.groupby('Day').UserID.max()
  2. 使用前一天的最大 UserID 过滤数据(初始化为 0):这里我不知道如何使用 Pandas 执行此操作
  3. 计算过滤后的数据集中唯一身份用户的登录次数。 df.filtered.groupby('Day').UserID.nunique()

是否有一种干净的方法来实现这一点?

最佳答案

此构建为一个表,给出每个 ID 首次出现的日期,按天分组,然后计算相应的行数。

df = pd.DataFrame([(1, "A"), (1, "B"), 
(1, "C"), (1, "C"),
(2, "A"), (2, "B"),
(2, "D"), (2, "A"),
(2, "E"), (3, "B"),
(3, "D"), (3, "F")],
columns=["day", "userid"])

(df
.sort_values('day')
.groupby('userid')
.first()
.rename(columns={"day": "first_seen"})
.groupby('first_seen').size()
)

关于python - 计算每天在 Pandas 中看到的新 ID 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36701135/

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