【问题标题】:Resample to Pandas DataFrame to Hourly using Hour as mid-point使用 Hour 作为中点将 Pandas DataFrame 重新采样到 Hourly
【发布时间】:2020-01-28 20:02:48
【问题描述】:

我有一个以 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 之前已经完成了它,但找不到任何对它的引用。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    看来你需要:

    print (df['temps'].shift(freq='30Min').resample('H').mean())
    

    【讨论】:

      猜你喜欢
      • 2013-12-06
      • 2020-11-06
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 2012-08-24
      • 2017-05-20
      • 1970-01-01
      • 2018-06-24
      相关资源
      最近更新 更多