首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OHLC数据的重采样

OHLC数据的重采样
EN

Stack Overflow用户
提问于 2021-08-01 19:42:58
回答 1查看 76关注 0票数 1

我想把1h的OHLC数据转换成xh的OHLC数据。我正在使用重采样方法,就像它在类似的线程中提出的一样,但它没有导致想要的结果。数据:

代码语言:javascript
复制
                            open     high      low    close    Volume USD
date
2021-07-10 21:00:00  132.060  133.350  131.885  133.195  259057.35815
2021-07-10 22:00:00  133.195  134.160  132.885  134.045  813078.76500
2021-07-10 23:00:00  134.045  134.620  133.690  133.995  338032.62200
2021-07-11 00:00:00  133.995  135.515  133.745  134.390  560713.74425

2小时的重采样方法:

代码语言:javascript
复制
df.resample('2H').agg({
    'open': 'first',
    'high': 'max',
    'low': 'min',
    'close': 'last',
    'Volume USD': 'sum'
})

结果是:

代码语言:javascript
复制
                        open     high      low    close    Volume USD
date
2021-07-10 20:00:00  132.060  133.350  131.885  133.195  2.590574e+05
2021-07-10 22:00:00  133.195  134.620  132.885  133.995  1.151111e+06
2021-07-11 00:00:00  133.995  135.515  133.745  134.390  5.607137e+05

我想要的是从22:00开始的数据帧,其中包含21:00和22:00的数据,第二行包含00:00,它使用23:00和00.00的数据。

非常感谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-01 20:30:56

要获得所需的结果,请将resampleclosedlabel参数设置为right

代码语言:javascript
复制
df.resample('2H', label='right', closed='right').agg({
    'open': 'first',
    'high': 'max',
    'low': 'min',
    'close': 'last',
    'Volume USD': 'sum'
})
代码语言:javascript
复制
                        open     high      low    close    Volume USD
date                                                                 
2021-07-10 22:00:00  132.060  134.160  131.885  134.045  1.072136e+06
2021-07-11 00:00:00  134.045  135.515  133.690  134.390  8.987464e+05

closed参数控制区间的哪一端包含在内,而label参数控制区间的哪一端出现在结果索引上。rightleft分别指间隔的结束和开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68613818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档