x1 x1.resample('1T').mean
ts
2017-09-09 17:22:42 7.0 NaN
2017-09-09 17:22:53 11.0 NaN
2017-09-09 17:23:04 9.0 NaN
2017-09-09 17:23:15 15.0 NaN
2017-09-09 17:23:26 13.0 NaN
2017-09-09 17:23:38 19.0 NaN
2017-09-09 17:23:49 13.0 NaN
2017-09-09 17:24:00 15.0 10.666667
以上是df.x1Avg = df.x1.resample('1T').mean()
的结果,代码只有在ts以hh:mm:00结尾时才返回结果。我想要的结果是
x1 x1.resample('1T').mean
ts
2017-09-09 17:22:42 7.0 (7+11)/2
2017-09-09 17:22:53 11.0 (7+11)/2
2017-09-09 17:23:04 9.0 (9+15+13+19+13)/5
2017-09-09 17:23:15 15.0 (9+15+13+19+13)/5
2017-09-09 17:23:26 13.0 (9+15+13+19+13)/5
2017-09-09 17:23:38 19.0 (9+15+13+19+13)/5
2017-09-09 17:23:49 13.0 (9+15+13+19+13)/5
2017-09-09 17:24:00 15.0 15
发布于 2017-09-26 19:31:51
您可以使用转换
df.index = pd.to_datetime(df.index)
df['mean'] = df.resample('1T').transform('mean')
你会得到
x1 mean
ts
2017-09-09 17:22:42 7.0 9.0
2017-09-09 17:22:53 11.0 9.0
2017-09-09 17:23:04 9.0 13.8
2017-09-09 17:23:15 15.0 13.8
2017-09-09 17:23:26 13.0 13.8
2017-09-09 17:23:38 19.0 13.8
2017-09-09 17:23:49 13.0 13.8
2017-09-09 17:24:00 15.0 15.0
https://stackoverflow.com/questions/46434346
复制相似问题