python - 从午夜以外的时间开始重新采样每日 Pandas 时间序列

标签 python pandas

<分区>

我有一个 10 分钟频率数据的 pandas 时间序列,需要找到每个 24 小时周期内的最大值。然而,这个 24 小时周期需要从每天早上 5 点开始——而不是 pandas 假定的默认午夜。

我一直在查看 DateOffset,但到目前为止我在绘制空白。我可能期望类似于 pandas.tseries.offsets.Week(weekday=n) 的东西,例如pandas.tseries.offsets.Week(hour=5),但据我所知这不受支持。

我可以通过首先对数据进行 shift 来解决这个问题,但它不直观,甚至在一周后回到相同的代码我也无法理解移位方向!

任何更优雅的想法将不胜感激。

最佳答案

base 关键字可以解决这个问题(参见 docs ):

s.resample('24h', base=5)

例如:

In [35]: idx = pd.date_range('2012-01-01 00:00:00', freq='5min', periods=24*12*3)

In [36]: s = pd.Series(np.arange(len(idx)), index=idx)

In [38]: s.resample('24h', base=5)
Out[38]: 
2011-12-31 05:00:00     29.5
2012-01-01 05:00:00    203.5
2012-01-02 05:00:00    491.5
2012-01-03 05:00:00    749.5
Freq: 24H, dtype: float64

关于python - 从午夜以外的时间开始重新采样每日 Pandas 时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20374736/

相关文章:

python - 如何在pycharm中中断 `pass`

python - 我怎样才能加快这个 django orm 生成的查询?

python - 在 Keras 中使用 tf.batch_scatter_add

python - Pandas 标准偏差返回 NaN

python - 为什么pandas的dataframe列顺序会自动改变?

python - 在 Pandas 中执行连接

python - slugs 和 unicode 的规则

python - 如何删除 pandas 数据框中重复的行?

python - 使用 df.barplot 时 python 条形图中的颜色

python - 修改 pandas 数据框中的 datetimeindex 中的小时