заменить значения в массиве

как значение замены для другого в рамках операции с массивами или как искать в массиве и заменять значение другим

например:

array ([[NaN, 1., 1., 1., 1., 1., 1.] [1., NaN, 1., 1., 1., 1., 1.] [1., 1., NaN, 1., 1., 1., 1.] [1., 1., 1., NaN, 1., 1., 1.] [1., 1., 1., 1., NaN, 1., 1.] [1., 1., 1., 1., 1., NaN, 1.] [1., 1., 1., 1., 1., 1., NaN]]) 

где он может заменить NaN на 0. спасибо за любой ответ

3 Solutions collect form web for “заменить значения в массиве”

Вы можете сделать это:

 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 .

в эти дни есть специальная функция:

 a = numpy.nan_to_num(a) 

Вот пример массива в вопросе:

 import numpy as np a = np.where(np.eye(7), np.nan, 1) 

Вы можете использовать функции numpy.where и numpy.isnan для создания нового массива b :

 b = np.where(np.isnan(a), 0, a) 

Или используйте встроенную функцию для непосредственного изменения массива:

 np.place(a, np.isnan(a), 0) # returns None 
  • Игнорировать деление на предупреждение 0 на python
  • Как представить массив numpy в поверхность pygame?
  • Альтернатива для модели пространства состояний экспоненциального сглаживания r в python / scikit / numpy
  • Numpy: внешний продукт из n векторов
  • Как я могу создать многоуровневую переменную python для datetime
  • Создание cx_Freeze exe с помощью Numpy для Python
  • Массив Numpy, как выбрать индексы, удовлетворяющие нескольким условиям?
  • Эффективное построение таблицы в формате csv с использованием Python
  • Python - лучший язык программирования в мире.