Using bool array mask, replace False values with NaN Using bool array mask, replace False values with NaN arrays arrays

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]])