гистограмма pylab избавиться от nan

у меня проблема с созданием гистограммы, когда некоторые из моих данных содержат значения "не число". Я могу избавиться от ошибки, используя 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