Ответ 1
a = a[~np.isnan(a)]
Мне нужна функция, которая возвращает значения, отличные от 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
Пожалуйста, поделитесь, если вы знаете лучший способ, Спасибо вам
a = a[~np.isnan(a)]
В настоящее время вы тестируете все, что не является NaN, и mtrw имеет правильный способ сделать это. Если вы заинтересованы в тестировании конечных чисел (не NaN и не INF), вам не нужна инверсия и вы можете использовать:
np.isfinite(a)
Больше pythonic и native, легко читается, и часто, когда вы хотите избежать NaN, вы также хотите избежать INF в моем опыте.
Просто подумал, что я брошу это для людей.