Using bool array mask, replace False values with NaN
You can use boolean indexing:
a[~b] = np.nan
This replaces all of values in a
that correspond to False
values in the mask b
with np.nan
:
>>> aarray([[ nan, 0.60731973, 0.44218921, nan, nan], [ 0.27422807, nan, nan, nan, nan], [ 0.32855867, 0.17215507, nan, nan, nan], [ nan, nan, 0.27925367, nan, 0.41035188], [ nan, nan, nan, 0.72321398, nan], [ nan, 0.5308054 , 0.27913615, 0.59107689, 0.6480463 ], [ nan, 0.22343885, nan, 0.43895017, 0.74993129], [ nan, 0.48984607, 0.33991052, nan, nan], [ 0.67351561, 0.13165046, 0.41327765, 0.21768539, 0.7337069 ], [ 0.65609999, nan, 0.3400624 , nan, 0.23679716]])