Вы можете сделать это:
import numpy as np
x=np.array([[np.NaN, 1., 1., 1., 1., 1., 1.],[1., np.NaN, 1., 1., 1., 1., 1.],[1., 1., np.NaN, 1., 1., 1., 1.], [1., 1., 1., np.NaN, 1., 1., 1.], [1., 1., 1., 1., np.NaN, 1., 1.],[1., 1., 1., 1., 1., np.NaN, 1.], [1., 1., 1., 1., 1., 1., np.NaN]])
x[np.isnan(x)]=0
np.isnan(x)
возвращает логический массив, который равен True
, где x
равно NaN
.
x[ boolean_array ] = 0
использует причудливое индексирование , чтобы присвоить значение 0 везде, где логический массив равен True
.
Отличное введение в модное индексирование и многое другое см. Также numpybook .