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 的时间重新采样的主要内容,如果未能解决你的问题,请参考以下文章
Python pandas 将 15 分钟 ohlc 重新采样为 75 分钟 ohlc