我有一个数据框,其中的温度测量频率为 5 分钟。我想重新采样该数据集以找到每小时的平均温度。
这通常使用df['temps'].resample('H', how='mean')
来完成但这会平均该小时内的所有值 - 例如,使用“12”为小时的所有时间。我想要的东西可以获取整点两侧 30 分钟(或最接近实际时间的时间)的所有值,并以这种方式找到平均值。换句话说,对于重新采样的时间步长 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())
关于python - 使用小时作为中点将 Pandas DataFrame 重新采样为每小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59948078/