gpt4 book ai didi

python - 盘中数据的每日高/低

转载 作者:太空狗 更新时间:2023-10-30 02:53:10 28 4
gpt4 key购买 nike

让我有一个像这样的日期时间索引的数据框:

date_time           open    high    low     close   vol
2018-05-13 18:00:00 70.54 70.60 70.42 70.55 2665
2018-05-13 18:15:00 70.55 70.59 70.53 70.58 378
2018-05-13 18:30:00 70.58 70.70 70.57 70.69 1470
2018-05-13 18:45:00 70.68 70.68 70.63 70.65 427
...
2018-05-14 00:00:00 70.46 70.47 70.40 70.41 1276
2018-05-14 00:15:00 70.41 70.45 70.38 70.39 1356
2018-05-14 00:30:00 70.39 70.48 70.39 70.46 1161
2018-05-14 00:45:00 70.46 70.47 70.43 70.46 359

我需要另外两列包含每日最高值和每日最低值。我正在尝试这样做:

df['day_high']= x.resample('D').high.max()
df.day_high = x.day_high.fillna(method='ffill')

它在存在 00:00:00 数据时间的日子里工作得很好。因此,14.05.2018 我有一个日期时间为 00:00:00 的值,我的代码有效。但是 2018-05-13 日从 18:00 开始,我的代码返回“NaN”值(我知道,为什么,但我不知道如何编写正确的代码)。

你能帮帮我吗?谢谢。

最佳答案

我相信需要Resampler.transform :

df['day_high']= df.resample('D').high.transform('max')
df['day_low']= df.resample('D').low.transform('min')
print (df)
open high low close vol day_high day_low
date_time
2018-05-13 18:00:00 70.54 70.60 70.42 70.55 2665 70.70 70.42
2018-05-13 18:15:00 70.55 70.59 70.53 70.58 378 70.70 70.42
2018-05-13 18:30:00 70.58 70.70 70.57 70.69 1470 70.70 70.42
2018-05-13 18:45:00 70.68 70.68 70.63 70.65 427 70.70 70.42
2018-05-14 00:00:00 70.46 70.47 70.40 70.41 1276 70.48 70.38
2018-05-14 00:15:00 70.41 70.45 70.38 70.39 1356 70.48 70.38
2018-05-14 00:30:00 70.39 70.48 70.39 70.46 1161 70.48 70.38
2018-05-14 00:45:00 70.46 70.47 70.43 70.46 359 70.48 70.38

关于python - 盘中数据的每日高/低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50645134/

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