擅长:python、mysql、java
<p>您可以使用<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html" rel="nofollow">np.where</a>:</p>
<pre><code>In[25]:df['State']=np.where(df['Name'].duplicated(keep=False),np.nan,df['State'])
In[26]:df
Out[26]:
ID Name State
0 1 John NaN
1 1 John NaN
2 2 Smith NE
3 3 Janet NaN
4 3 Janet NaN
5 3 Janet NaN
</code></pre>
<p>时间:</em></p>
<pre><code>%timeit df.loc[df.duplicated(subset=['ID'], keep=False), 'State'] = None
100 loops, best of 3: 2.32 ms per loop
%timeit df['State']=np.where(df['Name'].duplicated(keep=False),np.nan,df['State'])
1000 loops, best of 3: 657 µs per loop
</code></pre>