【发布时间】:2019-04-08 23:13:15
【问题描述】:
我是数据框架的新手,正在努力弄清楚如何完成以下任务:
我已经有一个像这样的时间序列的数据框:
timestamp uuid source
2017-06-18 10:43:54 abc two
2017-06-18 03:38:23 fgh three
2017-06-18 07:37:02 abc two
2017-06-18 16:49:51 fgh one
2017-06-19 21:34:10 abc two
2017-06-19 16:49:51 knn three
2017-06-19 22:36:10 mug one
我正在尝试 1) 重新采样到每天 2) 找出哪些唯一用户在给定的一天拥有多个来源并计算这些用户的数量
在 18 日 fgh 有两个唯一来源 (1),而 abc 只有一个来源 (0),所以当天计数为 1。
19 日没有用户拥有多个来源,因此当天的计数为 0。
结果
timestamp multi_source_users
2017-06-18 1
2017-06-19 0
我已经尝试了 resample 和 groupby 的几种组合,但我一直卡在总数上。
我从一些天真的事情开始......
df.resample('D').count()
或者
df.groupby('uuid').count()
但我不知道如何从那里构建。当我必须开始复合方法时,我总是卡住。
我也知道您可以“应用”自定义函数,但也无法完成这项工作。
谁能帮我指出正确的方向?再加上对未来思考此类问题的建议?非常感谢。
【问题讨论】:
标签: python pandas dataframe time-series