<p>把它看作一个SQL连接操作。您需要一个<code>left-outer</code>连接[1]。</p>
<p><code>names = pd.DataFrame({'names':['bob','frank','james','tim','ricardo','mike','mark','joan','joe'],'position':['dev','dev','dev','sys','sys','sys','sup','sup','sup']})</code></p>
<p><code>info = pd.DataFrame({'names':['joe','mark','tim','frank'],'classification':['thief','thief','good','thief']})</code></p>
<p>由于有<code>names</code>而没有<code>classification</code>,因此<code>left-outer</code>连接将完成此工作。</p>
<p><code>a = pd.merge(names, info, how='left', on='names')</code></p>
<p>结果是。。。</p>
<pre><code>>>> a
names position classification
0 bob dev NaN
1 frank dev thief
2 james dev NaN
3 tim sys good
4 ricardo sys NaN
5 mike sys NaN
6 mark sup thief
7 joan sup NaN
8 joe sup thief
</code></pre>
<p>。。。这很好。如果同时查看这两个表,所有的<code>NaN</code>结果都是可以的。</p>
<p>干杯!</p>
<p>[1]-<a href="http://pandas.pydata.org/pandas-docs/stable/merging.html#database-style-dataframe-joining-merging" rel="nofollow noreferrer">http://pandas.pydata.org/pandas-docs/stable/merging.html#database-style-dataframe-joining-merging</a></p>