如何计算pandas数据帧中的时间增量?

时间:2018-05-01 09:35:58

标签: pandas

       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。 那我怎么能在熊猫中意识到这一点呢?

1 个答案:

答案 0 :(得分:0)

假设click_time已经datetime

df.groupby([“os”, “channel”]).click_time.diff()

创建新列

df.assign(click_diff=df.groupby([“os”, “channel”]).click_time.diff())