<p>我偶然发现了一个我不理解或无法找到解决办法的问题</p>
<p>我键入的代码在我的Jupyter笔记本中运行得非常好,但在使用PyCharm时出错</p>
<p>我在PyCharm中输入了以下代码:</p>
<pre><code>df_ticker.loc[df_ticker['Red'] == True, 'Value'] = df_ticker['Open'] - df_ticker['Close']
df_ticker.loc[df_ticker['Red'] == False, 'Value'] = df_ticker['Close'] - df_ticker['Open']
</code></pre>
<p>单独使用这些代码并打印它们的值是成功的。
H</p>
<p>但是,当与这些代码行匹配时:</p>
<pre><code>for i in range(1, len(df_ticker)):
if df_ticker.Close[i] > df_ticker.Close[i-1] and df_ticker.Red[i] == False and \
df_ticker.Value.round(decimals = 0)[i] >= df_ticker.Value.round(decimals = 0)[i-1] \
and not df_ticker.Close[i-1] >= df_ticker [i-2]:
rise.append(df_ticker.Close[i])
</code></pre>
<p>它返回以下错误:</p>
<pre><code>Traceback (most recent call last):
File "/Users/benjaminwong/PycharmProjects/Yahoo Finance project/venv/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2889, in get_loc
return self._engine.get_loc(casted_key)
File "pandas/_libs/index.pyx", line 70, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 97, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 1675, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 1683, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 5
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/benjaminwong/PycharmProjects/Yahoo Finance project/Rise_Finder 2.py", line 29, in <module>
and not df_ticker.Close[i-1] >= df_ticker [i-2]:
File "/Users/benjaminwong/PycharmProjects/Yahoo Finance project/venv/lib/python3.8/site-packages/pandas/core/frame.py", line 2899, in __getitem__
indexer = self.columns.get_loc(key)
File "/Users/benjaminwong/PycharmProjects/Yahoo Finance project/venv/lib/python3.8/site-packages/pandas/core/indexes/base.py", line 2891, in get_loc
raise KeyError(key) from err
KeyError: 5
</code></pre>
<p>请帮忙,谢谢您的时间:)</p>