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
对于“仅替换某些列”:
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
通过具有} :
np.inf
值的布尔掩码使用^{对于“仅替换某些列”:
我会使用
np.inf
使用^{} 或^{} :
如果需要,请选择特定列:
相关问题 更多 >
编程相关推荐