гистограмма 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()