gpt4 book ai didi

Pandas 重采样 OHLC 日内数据,不包括正常交易时间以外的数据

转载 作者:行者123 更新时间:2023-12-04 03:12:40 26 4
gpt4 key购买 nike

我正在将 30 分钟数据重新采样为每小时数据,但它添加了代表 24 小时内所有 30 分钟时间段的 NaN 行。我希望它仅在 30 分钟记录中有数据时才重新采样。原始 df 没有任何“额外”行,只有 20 天内 9:30-4:00 的每小时数据。它还包括新的 df_RSHourly 中的周末。

df_RSHourly = df.resample('1H', base=0.5).agg(
{'close': 'last','high': 'max','low': 'min', 'open': 'first', 'volume': 'sum'}
]

print df_RSHhourly
2017-04-25 09:30:00-04:00  238.75  238.52  237.91  237.81  151998.0
2017-04-25 10:30:00-04:00 238.62 238.44 238.53 238.33 64281.0
2017-04-25 11:30:00-04:00 238.66 238.56 238.44 238.36 58319.0
2017-04-25 12:30:00-04:00 238.71 238.59 238.56 238.29 47994.0
2017-04-25 13:30:00-04:00 238.82 238.69 238.59 238.52 58266.0
2017-04-25 14:30:00-04:00 238.95 238.84 238.69 238.57 73089.0
2017-04-25 15:30:00-04:00 238.83 238.53 238.83 238.53 103572.0
2017-04-25 16:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-25 17:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-25 18:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-25 19:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-25 20:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-25 21:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-25 22:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-25 23:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 00:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 01:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 02:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 03:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 04:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 05:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 06:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 07:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 08:30:00-04:00 NaN NaN NaN NaN NaN
2017-04-26 09:30:00-04:00 238.91 238.87 238.53 238.50 91978.0
2017-04-26 10:30:00-04:00 239.53 239.47 238.88 238.85 75444.0
2017-04-26 11:30:00-04:00 239.48 239.02 239.48 238.70 88402.0
2017-04-26 12:30:00-04:00 239.42 239.20 239.02 238.98 45661.0

最佳答案

我找到的最简单的解决方案是 between_time

df_RSHhourly.between_time('09:30', '16:00')

在我的代码中,这是我应用它的方式:
y = data['prices'].resample('60S').ohlc()
y = y.fillna(method='ffill')
y = y.between_time('09:30', '16:00')

引用:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.between_time.html

关于Pandas 重采样 OHLC 日内数据,不包括正常交易时间以外的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43726689/

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