I have a problem with making a histogram when some of my data contains "not a number" values. I can get rid of the error by using nan_to_num
from numpy, but than i get a lot of zero values which mess up the histogram as well.
pylab.figure()
pylab.hist(numpy.nan_to_num(A))
pylab.show()
So the idea would be to make another array in which all the nan values are gone, or to just mask them in the histogram in some way (preferrably with some builtin method).
Remove np.nan
values from your array using A[~np.isnan(A)]
, this will select all entries in A
which values are not nan
, so they will be excluded when calculating histogram. Here is an example of how to use it:
>>> 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()