【发布时间】:2022-01-21 17:02:27
【问题描述】:
我尝试通过id 计算 groupby 数据每 2 行之间的时间差。数据看起来像
id date
11 2021-02-04 10:34:46+03:00
11 2021-02-07 14:58:24+03:00
11 2021-02-07 19:23:28+03:00
11 2021-02-08 10:21:44+03:00
11 2021-02-09 11:36:09+03:00
我用那个:
df['time_diff'] = df.groupby('id')['date'].diff().dt.seconds.div(60).fillna(0)
我注意到我的结果不正确。 当我只使用它时
df.groupby('id')['date'].diff()
我明白了,这是正确的
70225 NaT
72324 3 days 04:23:38
72367 0 days 04:25:04
72515 0 days 14:58:16
73343 1 days 01:14:25
...
但是当我尝试将其转换为秒时
df.groupby('id')['date'].diff().dt.seconds
我明白了
70225 NaN
72324 15818.0
72367 15904.0
72515 53896.0
73343 4465.0
...
为什么会发生?
【问题讨论】:
标签: python pandas datetime timedelta