Как заменить значения nan на ноль в numpy
Вы можете использовать следующий базовый синтаксис для замены значений NaN нулем в NumPy:
my_array[np. isnan (my_array)] = 0
Этот синтаксис работает как с матрицами, так и с массивами.
Следующие примеры показывают, как использовать этот синтаксис на практике.
Пример 1. Замена значений NaN на ноль в массиве NumPy
Следующий код показывает, как заменить все значения NaN на ноль в массиве NumPy:
import numpy as np
#create array of data
my_array = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#replace nan values with zero in array
my_array[np. isnan (my_array)] = 0
#view updated array
print (my_array)
[4.0.6.0.10.11.14.19.22.]
Обратите внимание, что оба значения NaN в исходной таблице заменены нулями.
Пример 2. Замена значений NaN нулем в матрице NumPy
Предположим, у нас есть следующая матрица NumPy:
import numpy as np
#create NumPy matrix
my_matrix = np. matrix ( np.array ([np.nan,4,3,np.nan,8,12]). reshape ((3,2)))
#view NumPy matrix
print (my_matrix)
[[nah 4.]
[ 3. nah]
[8.12.]]
Мы можем использовать следующий код, чтобы заменить все значения NaN нулем в матрице NumPy:
#replace nan values with zero in matrix
my_matrix[np. isnan (my_matrix)] = 0
#view updated array
print (my_matrix)
[[ 0. 4.]
[ 30.]
[8.12.]]
Обратите внимание, что оба значения NaN из исходной матрицы заменены нулями.
Связано: Как удалить значения NaN из массива NumPy
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в NumPy:
Как заполнить массив NumPy значениями
Как удалить определенные элементы из массива NumPy
Как заменить элементы в массиве NumPy
Как получить определенную строку из массива NumPy