logo

Pythonのnumpy.histogram()

Python の numpy モジュールには、次の関数が用意されています。 numpy.histogram() 。この関数は、一連の値の範囲と比較される値の数の頻度を表します。この関数は次のようなものです 履歴() の方程式 matplotlib.pyplot

簡単に言えば、この関数はデータセットのヒストグラムを計算するために使用されます。

SMTPインターネットプロトコル

構文:

 numpy.histogram(x, bins=10, range=None, normed=None, weights=None, density=None) 

パラメーター:

x: 配列のようなもの

このパラメータは、ヒストグラムが計算される平坦化された配列を定義します。

bins: int または str またはスカラーのシーケンス (オプション)

このパラメーターが整数として定義されている場合、指定された範囲内で等幅ビンの数が定義されます。それ以外の場合は、単調増加するビン エッジの配列が定義されます。これには右端のエッジも含まれるため、ビンの幅が不均一になる可能性があります。 numpy の最新バージョンでは、最適なビン幅を計算する方法を定義する文字列としてビン パラメータを設定できます。

範囲: (浮動小数点、浮動小数点)(オプション)

このパラメータは、ビンの下限と上限の範囲を定義します。デフォルトでは、範囲は次のとおりです。 (x.min()、x.max()) 。範囲外の値は無視されます。最初の要素の範囲は 2 番目の要素以下である必要があります。

正規化: bool(オプション)

このパラメータは密度引数と同じですが、ビン幅が等しくない場合は間違った出力が得られる可能性があります。

重み : array_like (オプション)

このパラメータは、重みを含む配列と同じ形状を定義します。 'バツ'

密度 : bool(オプション)

True に設定すると、各ビンのサンプル数が求められます。その値が False の場合、密度関数はビン内の確率密度関数の値になります。

戻り値:

履歴: 配列

密度関数はヒストグラムの値を返します。

edge_bin: float dtype の配列

この関数はビンのエッジを返します (長さ(履歴+1))

PVR 完全形式

例 1:

 import numpy as np a=np.histogram([1, 5, 2], bins=[0, 1, 2, 3]) a 

出力:

 (array([0, 1, 1], dtype=int64), array([0, 1, 2, 3])) 

上記のコードでは

  • numpy をエイリアス名 np でインポートしました。
  • 変数「a」を宣言し、戻り値を代入しました。 np.ヒストグラム() 関数。
  • 関数に配列とビンの値を渡しました。
  • 最後に、次の値を出力しようとしました。 「あ」

出力には、ヒストグラムの値を含む ndarray が表示されます。

氷と雪の違い

例 2:

 import numpy as np x=np.histogram(np.arange(6), bins=np.arange(7), density=True) x 

出力:

 (array([0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667]), array([0, 1, 2, 3, 4, 5, 6])) 

例 3:

 import numpy as np x=np.histogram([[1, 3, 1], [1, 3, 1]], bins=[0,1,2,3]) x 

出力:

 (array([0, 4, 2], dtype=int64), array([0, 1, 2, 3])) 

例 4:

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist bin_edges 

出力:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) array([0. , 0.7, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9, 5.6, 6.3, 7. ]) 

例 5:

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist hist.sum() np.sum(hist * np.diff(bin_edges)) 

出力:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) 1.4285714285714288 1.0 

上記のコードでは

  • numpy をエイリアス名 np でインポートしました。
  • 配列を作成しました 「あ」 を使用して np.arange() 関数。
  • 変数を宣言しました 「ヒスト」 そして 'bin_edges' そして戻り値を代入しました np.ヒストグラム() 関数。
  • 配列を渡しました 「あ」 そしてセット '密度' 関数内で True に設定します。
  • の値を出力しようとしました 「ヒスト」
  • そして最後に、次を使用してヒストグラム値の合計を計算しようとしました。 hist.sum() そして np.sum() ここでは、ヒストグラム値とビンのエッジを渡しました。

出力には、ヒストグラムの値とヒストグラム値の合計を含む ndarray が表示されます。