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

Я нахожу, что время выполнения лучшая мера.

15
задан Gumbo 25 November 2009 в 22:27
поделиться

1 ответ

Вы можете сделать следующее:

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 .

31
ответ дан 1 December 2019 в 00:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: