相关疑难解决方法(0)

如何使用熊猫分组计算时差?

问题

我想diff按小组计算.我不知道如何对time列进行排序,以便每个组的结果都是排序的和正面的.

原始数据:

In [37]: df 
Out[37]:
  id                time
0  A 2016-11-25 16:32:17
1  A 2016-11-25 16:36:04
2  A 2016-11-25 16:35:29
3  B 2016-11-25 16:35:24
4  B 2016-11-25 16:35:46
Run Code Online (Sandbox Code Playgroud)

我想要的结果

Out[40]:
   id   time
0  A   00:35
1  A   03:12
2  B   00:22
Run Code Online (Sandbox Code Playgroud)

注意:时间col的类型是timedelta64 [ns]

In [38]: df['time'].diff(1)
Out[38]:
0                 NaT
1            00:03:47
2   -1 days +23:59:25
3   -1 days +23:59:55
4            00:00:22
Name: time, dtype: timedelta64[ns]
Run Code Online (Sandbox Code Playgroud)

没有得到理想的结果.

希望

不仅解决问题,而且代码可以快速运行,因为有5000万行.

python sorting timedelta pandas difference

16
推荐指数
1
解决办法
7571
查看次数

标签 统计

difference ×1

pandas ×1

python ×1

sorting ×1

timedelta ×1