python - IF语句重复输出
问题描述
如果满足以下条件,我正在尝试打印日期,但我不断收到重复日期。我认为问题出在
如果 df['Close'][i+1]<df['Open'][i+1] 和 df['Close'][i+2]<df['Open'][i]:
但我不明白为什么。
有谁知道它有什么问题?
代码:
for i in range(len(df.index)-2):
if df['Close'][i]>df['Open'][i]:
if df['Close'][i+1]<df['Open'][i+1] and df['Close'][i+2]<df['Open'][i]:
print df.index[i]
输出:
[Timestamp('2019-07-03 00:00:00'), Timestamp('2020-06-11 00:00:00'), Timestamp('2019-07-03 00:00:00'), Timestamp('2020-06-11 00:00:00'), Timestamp('2020-09-21 00:00:00'), etc...]
样本 DF:
Open High Low Close Adj
Date
2019-06-03 136.798004 137.110992 136.615997 136.761002 136.761002
2019-06-04 136.822006 137.457993 136.539993 136.791000 136.791000
2019-06-05 137.479004 137.757996 137.199997 137.490005 137.490005
2019-06-06 137.438995 137.733002 136.970001 137.436996 137.436996
2019-06-07 137.690002 138.164993 137.492996 137.688995 137.688995
解决方案
既然你使用的是熊猫,为什么不以矢量化的方式来做呢?
df.index[df['Close'].shift(-2) < df["Open"]]
推荐阅读
- javascript - 如何从由斜杠分隔的 url 中获取 url 参数,例如 http://myweb.com/example/12345/222/4444 我想从上面的 url 中获取 12345、222、4444
- java - tomcat 7 到 9 迁移:java.lang.IllegalArgumentException:指定的主资源集 [...] 无效
- javascript - 引导日期时间选择器未打开
- magento - magento 2.3 安装后黑屏
- python - 从 Music21 保存图像文件
- swift - 如何将来自uiimageView的图像存储在firebase中
- ios - 如何在 Swift 的注释视图上显示不同的图标?
- javascript - 调用 google API json 文件并将其显示为 html,未检索到数据但成功调用站点
- reactjs - 与 haul 不工作的本地反应,引发一些 loader 问题
- javascript - 下拉链接未显示在 HTML 表格中