例如,我有一个 Dataframe :
|0|1|2|3|4|5|6
-|
0|0.493212|0.586246|NaN|0.589289|NaN|0.629087|0.593872
1|0.568513|0.367722|NaN|0.423369
2|0.70054|0.735529|NaN|NaN|0.494135|NaN|NaN
3|NaN|0.338822|0.466331|0.765367|0.83082
4|0.512891|NaN|0.623782|0.642438|NaN|0.541117|0.92981
如果我把它作如下比较:
df >= 0.5
结果是:
|0|1|2|3|4|5|6
-|
0|0|1|0|1|0|1|1
1|1|0|0|0|0|0|0
2|1|1|0|0|0|0|0
3|0|0|0|0|0|1|1
4|1|0|1|1|0|1|1
我怎么才能保留南牢房呢?我是说我需要0.5 > np.nan == np.nan
而不是0.5 > np.nan == False
2条答案
按热度按时间whlutmcx1#
IIUC,您可以使用
mask
:输出:
如果要保留整数类型:
输出:
wgeznvg72#
将
DataFrame.mask
与值转换为整数一起使用:详细信息:
numpy.select
的另一个想法:顺便说一句,如果需要
True/False
和NaN
,可以使用Nullable Boolean data type
: