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