web-dev-qa-db-ja.com

pylabヒストグラムはナンを取り除きます

一部のデータに「数値ではない」値が含まれている場合、ヒストグラムの作成に問題があります。 numpyからnan_to_numを使用してエラーを取り除くことができますが、ヒストグラムを台無しにする多くのゼロ値を取得します。

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

したがって、アイデアは、すべてのnan値がなくなった別の配列を作成するか、何らかの方法で(できればいくつかの組み込みメソッドを使用して)ヒストグラムでそれらを単にマスクすることです。

15
usethedeathstar

A[~np.isnan(A)]を使用して配列からnp.nan値を削除します。これにより、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

34
jabaldonedo