【发布时间】:2019-09-27 22:24:46
【问题描述】:
我正在尝试计算某些组的操作之间经过的平均时间。数据框如下所示:
Name, Action_ID, Start_Time, End_Time
A, 11, 2019-05-01 09:10:00, 2019-05-01 09:20:00
A, 12, 2019-05-01 09:30:00, 2019-05-01 09:40:00
A, 13, 2019-05-01 09:50:00, 2019-05-01 10:00:00
B, 11, 2019-05-01 09:20:00, 2019-05-01 09:40:00
B, 12, 2019-05-01 09:45:00, 2019-05-01 09:55:00
我想按名称分组并获取上一个操作的开始时间和结束时间之间经过的平均时间。所以基本上得到这样的东西:
Name, Avg_Time_Elapsed
A, 10
B, 5
我使用以下代码创建了一个名为 delta 的新列:
df['delta'] = df['Start_Time'] - df['End_Time'].shift(-1)
但它给了我一个奇怪的结果,因为它显示的差异是 -1 天而不是分钟/秒。在 python 中编写此代码的任何优雅方式?谢谢
【问题讨论】:
标签: python pandas datetime time pandas-groupby