擅长:python、mysql、java
<p>使用<code>loc</code>和布尔掩码覆盖这些值,如果'SP1'已经是<code>NaN</code>,则不相关,因为结果是相同的:</p>
<pre><code>In [244]:
df.loc[df['SP2'].isnull(), 'SP2'] = df['SP1']
df
Out[244]:
POLY_KEY_I SP1 SP2
0 FS01080100SM001 POAPRA TOXRYD
1 FS01080100SM001 NaN NaN
2 FS01080100SM001 OXRYD SYMOCC
3 FS01080100SM001 EUPESU POAPRA
4 FS01080100SM001 BOUGRA KOEPYR
5 FS01080100SM002 POAPRA EUPESU
6 FS01080100SM002 POAPRA POAPRA
7 FS01080100SM002 POAPRA KOEPYR
</code></pre>
<p>如果要使用条件返回一个特定列(如果不是<code>NaN</code>),如果是,则返回另一列,可以使用np.哪里地址:</p>
<pre><code>In [246]:
np.where(df['SP2'].notnull(), df['SP2'], df['SP1'])
Out[246]:
array(['TOXRYD', nan, 'SYMOCC', 'POAPRA', 'KOEPYR', 'EUPESU', 'POAPRA',
'KOEPYR'], dtype=object)
</code></pre>