使用 Hour 作为中点将 Pandas DataFrame 重新采样到 Hourly

我有一个以 5 分钟为频率测量温度的数据框。我想重新采样这个数据集以找到每小时的平均温度。


这通常使用df['temps'].resample('H', how='mean')但是这会平均落在小时内的所有值 - 例如,使用“12”是小时的所有时间。我想要从一小时的任何一侧(或最接近实际小时的时间)获取所有值的东西,并以这种方式找到平均值。换句话说,对于 1200 的重采样时间步长,使用从 1130 到 1230 的所有温度值来计算平均值。


下面的示例代码用于创建测试数据框:


index = pd.date_range('1/1/2000', periods=200, freq='5min')

temps = pd.Series(range(200), index=index)

df = pd.DataFrame(index=index)

df['temps'] = temps

这可以使用内置resample方法完成吗?我确定我在使用之前已经完成了,pandas但找不到任何参考。


撒科打诨
浏览 84回答 1
1回答

ITMISS

看来你需要:print (df['temps'].shift(freq='30Min').resample('H').mean())
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python