Python 在日期时间内重新采样并计算平均值

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

我一直面临一个问题,我有一组数据,然后,我想计算10分钟内的平均速度。假设我有以下数据:

            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

调整重新采样的时间标签


平均值是否保持不变?