Как заменить значения 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *