我想对车辆监控系统各行之间的时差/时间增量进行计算。我总共有70万行数据,其中包括以下字段:
索引,时间戳,纬度,经度,车辆型号
我的数据中有7种不同的模型
到目前为止,我可以使用如下所示的代码来计算各行的时差:
mydataset['timestamp'] = pd.to_datetime(mydataset["timestamp"], format =
"%Y-%m-%d %H:%M:%S")
mydataset['timedelta'] = (mydataset['timestamp'] -
mydataset['timestamp'].shift().fillna(pd.to_datetime("00:00:00",
format="%H:%M:%S")))
使用此代码,我可以找到时差。但是现在,我希望将其过滤到每个单独的车辆模型中。现在,我只能计算每一行的差异。但是某些行包含不同的模型。我有什么办法让它“查看”车辆模型并进行计算?
例如数据
1,x,2018-05-16 09:14:37.343,0 days 00:00:05.000000000
2,x,2018-05-16 09:14:42.343,0 days 00:00:05.000000000
3,x,2018-05-16 09:14:47.343,0 days 00:00:05.000000000
4,x,2018-05-16 09:14:52.344,0 days 00:00:05.001000000
5,x,2018-05-16 09:14:57.344,0 days 00:00:05.000000000
6,y,2018-05-16 09:15:02.344,0 days 00:00:05.000000000
7,y,2018-05-16 09:15:07.344,0 days 00:00:05.000000000
8,y,2018-05-16 09:15:12.344,0 days 00:00:05.000000000
9,x,2018-05-16 09:15:17.344,0 days 00:00:05.000000000
10,x,2018-05-16 09:15:22.345,0 days 00:00:05.001000000
更新!如下所示,是帮助我对车辆模型进行分组的代码。想问一下总计每种模型时差的方法!
mydataset['new'] = mydataset.groupby('Model').timestamp.diff()
答案 0 :(得分:1)
仅使用groupby
模型并采用diff()
>>> df.groupby('model').timestamp.diff()