擅长:python、mysql、java
<p>这完全取决于两个帧的相对大小;在某些情况下,这可能足够快:</p>
<pre><code>>>> i = updt['firstname'].isin(df['name']) # updt indexer
>>> lookup = df['name'].tolist().index # look-up function
>>> iter = map(lookup, updt.loc[i, 'firstname']) # iterator
>>> j = np.fromiter(iter, dtype='int64') # df indexer
>>> df.loc[j, 'age'] = updt.loc[i, 'age'].values
</code></pre>
<p>如果您已经知道所有的<code>firstname</code>都在<code>df</code>中,则不需要<code>i</code>索引器。在</p>
<p>或者</p>
^{pr2}$