鉴于以下数据,每天有哪些用户活跃,我想使用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
Run Code Online (Sandbox Code Playgroud)
我看到它的方式,步骤是:
有没有一个干净的方法来实现这一目标?
这个构建作为一个表,首先看到每个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()
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |