gpt4 book ai didi

python - 使用 Pandas 和 .shift 查询带条件的 .csv 文件

转载 作者:行者123 更新时间:2023-12-01 09:08:48 24 4
gpt4 key购买 nike

我在查询带条件的贸易数据的简单 .csv 文件时遇到问题。 .csv 文件有 5 列 - [开盘价、最高价、最低价、收盘价、成交量],其中包含每分钟交易的时间序列索引

我想做的是构建一个脚本

(1) tells me how many times the close price minus the open price of the previous minute is positive.

(2) the volume of the previous minute is greater than that of the minute before it.

到目前为止,我已经完成了上半部分 (1):

ts2 = ts[(ts["close"]-ts["open"].shift(1))>0]

但是,我无法将其与我需要的体积条件 (2) 结合起来。我尝试了以下操作,但均导致语法错误和其他错误。

ts2 = ts[(ts["close"]-ts["open"].shift(1))>0]
ts3 = ts[(ts["volume"].shift(1)-ts["volume"].shift(2))>0]
ts4 = ts[ts2 & ts3]

ts4 = ts[(ts["close"]-ts["open"].shift(1)>0) & (ts["volume"].shift(1)-ts["volume"].shift(2)>0)

最终我会使用:

print(len(ts4)) 

查找条件查询的 csv 文件中出现了多少次。

请告诉我如何结合这两个条件,以及是否有办法改进我当前的方法。

谢谢您,非常感谢您的帮助!

最佳答案

你就快到了。只需制作 ts2ts3 掩码而不是实际查询的数据帧。

ts2 = (ts["close"] - ts["open"].shift(1)) > 0  #this is a mask
ts3 = (ts["volume"].shift(1) - ts["volume"].shift(2)) > 0 #this is a mask
ts4 = ts.loc[ts2 & ts3] #query using 2 masks

希望这有帮助。

关于python - 使用 Pandas 和 .shift 查询带条件的 .csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51826748/

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