擅长:python、mysql、java
<p>问题就出在这一行:</p>
<pre><code>if df['timetype'][2]=='After Close':
</code></pre>
<p>它抱怨说<code>df['timetype']</code>是一个只有0、1或2个项的序列,但您要求的是第三个。</p>
<p>这可能是一个我们都会犯的愚蠢的错误,你不小心写了<code>2</code>,而不是<code>1</code>,或者忘记了Python序列使用基于0的索引。</p>
<p>但如果不是,如果你真的期望<code>df['timetype']</code>有3个或更多的值,而它没有,我们需要知道你期望它有什么值,为什么,以及它实际上有什么值。</p>
<p>只需在代码中添加一行并再次运行,就可以开始调试:</p>
<pre><code> df = h.to_df(d)
print(df['timetype']) # NEW CODE
if df['timetype'][2]=='After Close':
</code></pre>
<p>如果结果不是您所期望的,请尝试打印<code>df</code>本身,或<code>d</code>或<code>h</code>等,直到找到第一个出错的地方。</p>
<p>在某个时刻,您会发现第一步返回的值与预期的不同。您可能仍然不知道<em>为什么</em>返回不同的值,但在这一点上,您有一个更容易回答的问题StackOverflow。</p>