numpyで完全なヒストグラムを生成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1420235

  •  07-07-2019
  •  | 
  •  

質問

numpy.array に非常に長いリストがあります。ヒストグラムを生成したいです。ただし、Numpyのヒストグラムに組み込まれていますには、事前定義された数のビンが必要です。値ごとに1つのビンを持つ完全なヒストグラムを生成する最良の方法は何ですか?

役に立ちましたか?

解決

整数の配列があり、最大値が大きすぎない場合は、numpy.bincountを使用できます:

hist = dict((key,val) for key, val in enumerate(numpy.bincount(data)) if val)

編集: フロートデータがある場合、またはデータが膨大な範囲に広がっている場合は、次のようにして整数に変換できます。

bins = numpy.unique(data)
bincounts = numpy.bincount(numpy.digitize(data, bins) - 1)
hist = dict(zip(bins, bincounts))

他のヒント

すべての値のビンは少し奇妙に聞こえますが、そうではありません

bins=a.max()-a.min()

同様の結果が得られますか

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top