Я хочу, чтобы получить индекс мин стоимости Numpy массива, который содержит пренебрежимо малый и я хочу, чтобы они игнорировалиЕсть ли лучший способ сделать numpy.argmin() игнорировать NaN значение
>>> a = array([ nan, 2.5, 3., nan, 4., 5.])
>>> a
array([ NaN, 2.5, 3. , NaN, 4. , 5. ])
если я бегу argmin, он возвращает индекс первого NaN
>>> a.argmin()
0
я заменить с пренебрежимо малым Infs, а затем запустить argmin
>>> a[isnan(a)] = Inf
>>> a
array([ Inf, 2.5, 3. , Inf, 4. , 5. ])
>>> a.argmin()
1
Моя дилемма такова: Я бы предпочел не менять NaN на Infs, а затем обратно после того, как я закончил с argmin (поскольку NaNs имеют смысл в дальнейшем). Есть лучший способ сделать это?
Существует также вопрос о том, каким должен быть результат, если все исходные значения a являются NaN? В моей реализации ответ 0
спасибо ~ unutbu! –
Вы не представляете, как это меня радует. – weronika