擅长:python、mysql、java
<p>我不知道这是否能解决问题,但是你的代码有很多非常不和谐的特性,如果你修复了它们,你至少会得到更多有用的错误。在</p>
<p>首先,不必像<code>i</code>和<code>j</code>那样使用边车整数。在最坏的情况下,您可以使用<code>enumerate</code>,但是pandas已经为您提供了一个索引,可以为您实现这一点!如果您实际查看<code>iterrows()</code>的输出,一旦在<code>df</code>上有{<cd5>},它就有了您想要的内置边车整数。<strong>解决方案:打开<code>iterrows()</code></strong>。。。。。。但无论如何,你根本不必使用整数。在</p>
<p>第二,熊猫可以帮你找东西!您不必自己编写第二个迭代。<strong>解决方案:使用<code>.loc</code></strong></p>
<p>{第三个是你的好主意。<strong>解决方案:使用<code>.loc</code></strong></p>
<pre><code>dbFrame = dbFrame.reset_index().set_index('tag1')
for i,u in userFrame['tag'].iteritems():
try:
u2 = dbFrame.loc[u,'col_of_interest']
print('Found one!: {} = {}'.format(u,u2))
except:
pass
</code></pre>
<p>没有愚蠢的整数,没有双重迭代。上面的代码有10次迭代,而不是20000次。显然,您需要指定感兴趣的列。在</p>