19

当我的某些数据包含“非数字”值时,我在制作直方图时遇到问题。我可以通过使用 from numpy 来消除错误nan_to_num,但是我得到了很多零值,这也会弄乱直方图。

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

所以这个想法是创建另一个数组,其中所有的 nan 值都消失了,或者只是以某种方式在直方图中屏蔽它们(最好使用一些内置方法)。

4

1 回答 1

39

使用删除np.nan数组中的值,这将选择值不是A[~np.isnan(A)]的所有条目,因此在计算直方图时将排除它们。以下是如何使用它的示例:Anan

>>> 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()

在此处输入图像描述

于 2013-09-30T08:58:00.847 回答