«Isnotnan» функциональность в numpy, может ли это быть более pythonic?

Мне нужна функция, которая возвращает значения, отличные от NaN, из массива. В настоящее время я делаю это так:

>>> a = np.array([np.nan, 1, 2]) >>> a array([ NaN, 1., 2.]) >>> np.invert(np.isnan(a)) array([False, True, True], dtype=bool) >>> a[np.invert(np.isnan(a))] array([ 1., 2.]) 

Python: 2.6.4 numpy: 1.3.0

Пожалуйста, поделитесь, если вы знаете лучший способ, спасибо

2 Solutions collect form web for “«Isnotnan» функциональность в numpy, может ли это быть более pythonic?”

 a = a[~np.isnan(a)] 

В настоящее время вы тестируете все, что не является NaN, и mtrw имеет правильный способ сделать это. Если вы заинтересованы в тестировании конечных чисел (не NaN и не INF), вам не нужна инверсия и вы можете использовать:

 np.isfinite(a) 

Больше pythonic и native, легко читается, и часто, когда вы хотите избежать NaN, вы также хотите избежать INF в моем опыте.

Просто подумал, что я брошу это для людей.

Interesting Posts

Возвращаемая переменная, а также шаблон рендеринга

Нужна помощь в установке MySQL для Python

Как создать строчный график строк с помощью matplotlib?

Python объединяет два списка со всеми возможными перестановками

Python возвращает неправильную длину строки при использовании специальных символов

Является ли эта функция рекурсивной, даже если она не называет себя?

Python Pandas: удалять записи в зависимости от количества вхождений

Matplotlib перетаскивает точки перекрытия в интерактивном режиме

Запуск полностью независимого процесса с Python

Список вопросов на Python

`numpy.mean` используется с кортежем как аргумент` axis`: не работает с массивом в масках

Добавление нескольких элементов в список в Python

Как разделить строку с разделителями-запятыми в Python, за исключением запятых, находящихся в кавычках

Python, suds – работа с гнилыми кэшами WSDL и ответами

Может ли SQLAlchemy's session.merge () обновить свой результат с новыми данными из базы данных?

Python - лучший язык программирования в мире.