gpt4 book ai didi

python - Pandas 将每小时 OHLC 重采样为每日 OHLC

转载 作者:太空宇宙 更新时间:2023-11-04 07:56:52 32 4
gpt4 key购买 nike

我有一个每小时 OHLC 的数据框如下(请忽略 OHLC 的值,我输入它们是为了更好地说明),

hr_df =
Close High Low Open
2017-09-04 05:00:00 0.715035 0.715035 0.715035 0.715035
2017-09-04 06:00:00 0.715035 0.715045 0.715015 0.715035
2017-09-04 07:00:00 0.715040 0.715050 0.714035 0.715035
:
:
2017-09-05 05:00:00 0.715045 0.715105 0.714985 0.715035
2017-09-05 06:00:00 0.715040 0.716045 0.714605 0.715035
2017-09-05 07:00:00 0.715040 0.717045 0.713225 0.715035
:
:
2017-09-06 05:00:00 0.715040 0.714045 0.713355 0.715035

我想将它重新采样到日常 OHLC 中,例如,

day_df =
Close High Low Open
2017-09-04 0.715035 0.715035 0.715035 0.715035
2017-09-05 0.715035 0.715045 0.715015 0.715035
2017-09-06 0.715040 0.715050 0.714035 0.715035
2017-09-07 0.715045 0.715105 0.714985 0.715035
2017-09-08 0.715040 0.716045 0.714605 0.715035
2017-09-09 0.715040 0.714045 0.713355 0.715035
2017-09-10 0.715040 0.717045 0.713225 0.715035

我尝试使用 pandas resample 方法,day_df = hr_df.resample('D').pad()day_df = hr_df.resample('D').ohlc() 但它不工作。我知道我可能没有使用正确的方法。如果有人可以指导我找到替代解决方案或正确的使用方法,我将不胜感激。

最佳答案

我认为您需要按 Resampler.agg 进行下采样通过 dictionary 使用列名键和函数值:

day_df = (hr_df.resample('D')
.agg({'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'}))
print (day_df)
Open High Close Low
2017-09-04 0.715035 0.715050 0.71504 0.714035
2017-09-05 0.715035 0.717045 0.71504 0.713225
2017-09-06 0.715035 0.714045 0.71504 0.713355

关于python - Pandas 将每小时 OHLC 重采样为每日 OHLC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47365575/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com