python - 使用小时作为中点将 Pandas DataFrame 重新采样为每小时

标签 python pandas

我有一个数据框,其中的温度测量频率为 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/

相关文章:

python-3.x - 从字典列表中获取组合数据框

python - 如果重复列值在另一列中具有相同的值,则只保留第一次出现的重复列值

使用 SecretKeyFactory 生成 secret 时,Java 字节数组到字符串必须等于 python 字节数组字符串

python - pandas 中坐标对之间的距离

python - "pip wheel"和 "pip download"的区别?

AIX 上的 Python : What are my options?

python - 为什么 pandas.series.map 慢得惊人?

python - 带有 for 循环的数据帧

python - 如何将两列 Pandas 数据框的元素绘制为直方图?

python - 基于正则表达式的匹配在Python中切片二维列表