pylab直方图摆脱了南方

use*_*tar 15 python numpy matplotlib nan histogram

当我的一些数据包含"非数字"值时,我在制作直方图时遇到问题.我可以通过使用nan_to_numnumpy 摆脱错误,但是我得到了很多零值,这也搞乱了直方图.

pylab.figure()
pylab.hist(numpy.nan_to_num(A))
pylab.show()
Run Code Online (Sandbox Code Playgroud)

因此,我们的想法是制作另一个阵列,其中所有的纳米值都消失了,或者只是以某种方式在直方图中掩盖它们(最好使用一些内置方法).

jab*_*edo 34

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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 如果您不了解`~`运算符,您可以使用`A [np.isfinite(A)]`,这可能更符合您的要求. (2认同)