pandas OHLC 聚合随着 OHLC 的时间重新采样

Posted

技术标签:

【中文标题】pandas OHLC 聚合随着 OHLC 的时间重新采样【英文标题】:pandas OHLC aggregation resample with time of OHLC 【发布时间】:2022-01-05 15:37:54 【问题描述】:

我将 1 分钟蜡烛转换为 5 分钟蜡烛,如下所示:

df = df.resample("5min").agg(
'stock_name': 'first', 
'tr_open': 'first', 
'tr_high': 'max', 
'tr_low': 'min', 
'tr_close': 'last'
)

出于某种原因,我需要为该聚合获取 OHLC 值的时间。

意思是,tr_time_high 应该包含 tr_high 在这 5 分钟蜡烛等中为高的时间。

如何在 Pandas 中实现这一点?

提前致谢。

【问题讨论】:

如果你能展示原始数据框的头部和一个你希望得到的例子,那么得到答案会容易得多 【参考方案1】:

在您的情况下,我更喜欢使用groupby_agg 而不是resample_agg 来允许naming aggregation。试试:

df.groupby(pd.Grouper(freq='5T')).agg(
   stock=('stock_name', 'first'),
   open=('tr_open', 'first'),
   high=('tr_high', 'max'),
   low=('tr_low', 'min'),
   close=('tr_close', 'last'),
   time_high=('tr_high', 'idxmax'),
)

【讨论】:

以上是关于pandas OHLC 聚合随着 OHLC 的时间重新采样的主要内容,如果未能解决你的问题,请参考以下文章

OHLC 聚合器不适用于 Pandas 上的数据框?

Python pandas 将 15 分钟 ohlc 重新采样为 75 分钟 ohlc

使用 Pandas 重采样功能的多个脚本的 OHLC

如何从 1 分钟的嵌套数组数据中聚合 OHLC 5 分钟(mongodb、mongoose)

OHLC 蜡烛每 X 个刻度

plotly基于dataframe数据绘制股票OHLC图