擅长:python、mysql、java
<p>通常是<code>NaN != NaN</code>,因此如果这些值被存储为空值,简单的比较就足够了。如果将它们存储为<code>'None</code>(字符串)</p>
<pre><code>df = pd.DataFrame(data={'col1':['a', None, None, 'a', 'a'], 'col2': ['a', 'a', None, None, 'b']})
</code></pre>
<blockquote>
<pre><code> col1 col2
0 a a
1 None a
2 None None
3 a None
4 a b
</code></pre>
</blockquote>
^{pr2}$
<blockquote>
<pre><code> col1 col2 col1_col2
0 a a True
1 None a False
2 None None False
3 a None False
4 a b False
</code></pre>
</blockquote>
<p>2个小提示</p>
<ul>
<li>可以使用<code>iteritems</code>简化循环,不需要使用索引</li>
<li>我试图将计算结果保存在与初始数据和中间结果不同的数据帧中。这样就可以更容易地排除出问题并重新开始。我只在内存有问题时重用原始数据帧</li>
</ul>