Python 在日期时间内重新采样并计算平均值
我一直面临一个问题,我有一组数据,然后,我想计算10分钟内的平均速度。假设我有以下数据:Python 在日期时间内重新采样并计算平均值,python,pandas,datetime,Python,Pandas,Datetime,我一直面临一个问题,我有一组数据,然后,我想计算10分钟内的平均速度。假设我有以下数据: Timestamp Category ... Status Speed 0 2013-08-14 22:15:00 1 ... 1 10 1 2013-08-14 22:15:01 1 ... 1 1
Timestamp Category ... Status Speed
0 2013-08-14 22:15:00 1 ... 1 10
1 2013-08-14 22:15:01 1 ... 1 10
2 2013-08-14 22:15:02 1 ... 0 10.1
3 2013-08-14 22:15:03 1 ... 1 10.1
4 2013-08-14 22:15:04 1 ... 1 12
5 2013-08-14 22:15:05 1 ... 0 12
6 2013-08-14 22:15:06 1 ... 1 13
7 2013-08-14 22:15:07 1 ... 0 12
8 2013-08-14 22:15:08 1 ... 1 11.2
35999 2013-08-23 23:35:00 0 ... 1 14.3
就我而言,我可以使用pandas重采样轻松计算10分钟内的平均值,如下所示:
df_mean = pd.DataFrame(df.resample('10Min', on='Timestamp')['speed'].mean())
2017-07-23 22:10:00 13.835333
2017-07-23 22:20:00 12.182766
2017-07-23 22:30:00 11.426791
2017-07-23 22:40:00 11.776899
2017-07-23 22:50:00 12.027970
2017-07-23 23:00:00 13.651600
2017-07-23 23:10:00 14.031400
2017-07-23 23:20:00 12.182766
2017-07-23 23:30:00 11.334857
2017-07-23 22:15:00 13.835333
2017-07-23 22:25:00 12.182766
2017-07-23 22:35:00 11.426791
2017-07-23 22:45:00 11.776899
2017-07-23 22:55:00 12.027970
2017-07-23 23:05:00 13.651600
2017-07-23 23:15:00 14.031400
2017-07-23 23:25:00 12.182766
2017-07-23 23:35:00 11.334857
这里真正的问题是,我希望从22:15:00开始计算平均值,但是,当我打开dfu mean时,我得到的结果是这样的:
df_mean = pd.DataFrame(df.resample('10Min', on='Timestamp')['speed'].mean())
2017-07-23 22:10:00 13.835333
2017-07-23 22:20:00 12.182766
2017-07-23 22:30:00 11.426791
2017-07-23 22:40:00 11.776899
2017-07-23 22:50:00 12.027970
2017-07-23 23:00:00 13.651600
2017-07-23 23:10:00 14.031400
2017-07-23 23:20:00 12.182766
2017-07-23 23:30:00 11.334857
2017-07-23 22:15:00 13.835333
2017-07-23 22:25:00 12.182766
2017-07-23 22:35:00 11.426791
2017-07-23 22:45:00 11.776899
2017-07-23 22:55:00 12.027970
2017-07-23 23:05:00 13.651600
2017-07-23 23:15:00 14.031400
2017-07-23 23:25:00 12.182766
2017-07-23 23:35:00 11.334857
实际上,我会从22:15:00开始,一直到23:35:00,所以我想要达到的结果是这样的:
df_mean = pd.DataFrame(df.resample('10Min', on='Timestamp')['speed'].mean())
2017-07-23 22:10:00 13.835333
2017-07-23 22:20:00 12.182766
2017-07-23 22:30:00 11.426791
2017-07-23 22:40:00 11.776899
2017-07-23 22:50:00 12.027970
2017-07-23 23:00:00 13.651600
2017-07-23 23:10:00 14.031400
2017-07-23 23:20:00 12.182766
2017-07-23 23:30:00 11.334857
2017-07-23 22:15:00 13.835333
2017-07-23 22:25:00 12.182766
2017-07-23 22:35:00 11.426791
2017-07-23 22:45:00 11.776899
2017-07-23 22:55:00 12.027970
2017-07-23 23:05:00 13.651600
2017-07-23 23:15:00 14.031400
2017-07-23 23:25:00 12.182766
2017-07-23 23:35:00 11.334857
以下是你想要的吗
df_mean = pd.DataFrame(df.resample('10Min', on='Timestamp', loffset='5min')['speed'].mean())
从:
loffset:timedelta
调整重新采样的时间标签
平均值是否保持不变?