擅长:python、mysql、java
<p>通过具有<code>np.inf</code>值的布尔掩码使用<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.fillna.html" rel="nofollow noreferrer">^{<cd1>}</a>:</p>
<pre><code>df = pd.DataFrame({
'A':list('abcdef'),
'mtbur':[np.nan,5,4,5,np.nan,np.nan],
'nur':[0,0,9,0,0,3],
'col':[np.nan] * 6,
})
mask = (df.mtbur.isnull()) & (df.nur==0)
df.loc[mask] = df.loc[mask].fillna(np.inf)
print (df)
A mtbur nur col
0 a inf 0 inf
1 b 5.0 0 NaN
2 c 4.0 9 NaN
3 d 5.0 0 NaN
4 e inf 0 inf
5 f NaN 3 NaN
</code></pre>
<p>对于“仅替换某些列”:</p>
<pre><code>mask = (df.mtbur.isnull()) & (df.nur==0)
cols = ['mtbur','A']
df.loc[mask, cols] = df.loc[mask, cols].fillna(np.inf)
print (df)
A mtbur nur col
0 a inf 0 NaN
1 b 5.0 0 NaN
2 c 4.0 9 NaN
3 d 5.0 0 NaN
4 e inf 0 NaN
5 f NaN 3 NaN
</code></pre>