python - 使用 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
但找不到任何参考。
解决方案
看来你需要:
print (df['temps'].shift(freq='30Min').resample('H').mean())
推荐阅读
- docker - 无法在 docker 中形成嵌入式 Hazelcast 喷气机集群
- android - 在 Flutter 中管理帖子中的错误
- javascript - 如何固定元素的位置但相对于容器
- visual-studio - 无法在 Visual Studio 中编辑空项目的属性
- javascript - 将 setTimeout 应用于 p5.js 中的递归树
- android - 片段可见之前的android-load地图
- python - 如何在 Django 中增加 IntegerField?
- java - 在 Talend 路由中使用特定版本的 bean
- docker - 如何从奇异图像构建 docker 图像
- shell - 在文件中的特定关键字之后插入一个空行