ip app device os channel click_time is_attributed
0 83230 3 1 33 888 2017-11-06 14:32:21 0
1 17357 3 1 19 379 2017-11-06 14:33:34 0
2 35810 3 1 13 379 2017-11-06 14:34:12 0
3 45745 14 1 33 888 2017-11-06 14:34:52 0
4 161007 3 1 13 379 2017-11-06 14:35:08 0
这是数据框,我想添加一列,表示每个指定条件之间的时间(秒)增量值。
例如,让我们将os-channel作为标识符,第3行( os = 33& channel = 888 )中的 timedelta 应该是来自记录最后一次 os = 33& channel = 88 ,可以在第0行找到。所以 timedelta 应该是 2017-11-06 14:34:52 和 2017-11-06 14:32:21 之间的差距。之前没有 os = 33& channel = 888 ,结果应该是Nan。
那我怎么能在熊猫中意识到这一点呢?
答案 0 :(得分:0)
假设click_time
已经datetime
df.groupby([“os”, “channel”]).click_time.diff()
创建新列
df.assign(click_diff=df.groupby([“os”, “channel”]).click_time.diff())