Гистограмма pylab избавляется от нан

У меня проблема с созданием гистограммы, когда некоторые из моих данных содержат значения "не числа". Я могу избавиться от ошибки, используя nan_to_num от numpy, но я получаю много нулевых значений, которые также испортили гистограмму.

pylab.figure()
pylab.hist(numpy.nan_to_num(A))
pylab.show()

Таким образом, идея заключалась бы в создании другого массива, в котором все значения nan исчезли, или просто маскировать их в гистограмме каким-то образом (предпочтительно с некоторым встроенным методом).

Ответ 1

Удалите значения np.nan из вашего массива с помощью A[~np.isnan(A)], это выберет все записи в A, значения которых не являются nan, поэтому они будут исключены при вычислении гистограммы. Вот пример того, как его использовать:

>>> import numpy as np
>>> import pylab

>>> A = np.array([1,np.nan, 3,5,1,2,5,2,4,1,2,np.nan,2,1,np.nan,2,np.nan,1,2])

>>> pylab.figure()
>>> pylab.hist(A[~np.isnan(A)])
>>> pylab.show()

enter image description here