pandas - 从数据框中获取唯一用户直到当前日期 | 熊猫
问题描述
我有一个数据框如下:
UID Date
101 20/12/2020
102 20/12/2020
102 20/12/2020
103 21/12/2020
104 21/12/2020
105 22/12/2020
101 22/12/2020
106 23/12/2020
107 23/12/2020
108 23/12/2020
在每个日期,都可能出现任何 uid。我需要找到每个日期到目前为止的唯一用户总数。例如,所需的输出是
Date Unique users till now
20/12/2020 2
21/12/2020 4
22/12/2020 5
23/12/2020 8
Explanation:
20/12/2020: Total unique users till now 2 (101, 102)
21/12/2020: Total unique users till now 4 (101, 102, 103, 104)
22/12/2020: Total unique users till now 5 (101, 102, .., 105)
23/12/2020: Total unique users till now 8 (101, 102, .., 108)
每天我都需要找出到目前为止累积了多少唯一用户。任何帮助表示赞赏。
解决方案
您可以使用drop_duplicates
删除重复的 UID 并仅将实例保留在我们第一次遇到特定 UID 的日期。(例如,这将确保我们只计算 2020 年 12 月 20 日的 UID 101,而不是 2020 年 12 月 20 日的第二次)。从那里,按您的独特日期分组,并用于nunique
从该日期获取唯一 ID。最后用于.cumsum
获取每个日期的唯一 UID 的累积数量:
out = (df.drop_duplicates("UID", keep="first")
.groupby("Date")
.nunique()
.cumsum())
print(out)
UID
Date
20/12/2020 2
21/12/2020 4
22/12/2020 5
23/12/2020 8
推荐阅读
- python - 数据框中的Python函数搜索
- c# - C#,在 Windows 服务的 OnStart 中调用异步方法
- r - 如何使用命中和未命中和 Halton 逼近 R 中双积分的解?
- windows - 防止 COM 激活服务器可执行文件?
- reactjs - React-Native 渲染太早了?
- styles - 属性“颜色”在位于表单视图内的树标记中不起作用
- python-3.x - 最小化 --onedir 选项的 pyinstaller 文件
- java - WildFly add-user.bat 系统找不到指定的路径
- chronicle - 启动后持久化文件是否加载到 RAM 内存中?
- dart - 颤振医生什么也没显示