【Numpy】配列の各要素をカウントする bincount 【簡単なサンプル】

Numpyで配列の要素をカウントする方法紹介します。

np.bincountを使います。

環境

  • python 3.8.0
  • numpy 1.17.3

サンプルコード

では、bincountを使うとどのような出力になるかを見てみます。

まず以下のような配列があるとします。

>>> import numpy as np
>>> arr = np.arange(5)
>>> arr
array([0, 1, 2, 3, 4])

この配列をbincountでカウントしてみると

>>> np.bincount(arr)
array([1, 1, 1, 1, 1])

0が1, 1が1, 2が1・・・というように
各indexの要素がいくつあるかを返してくれます。

例えば、以下のような0が4個, 1が1個の場合

>>> arr = np.array([0,0,0,0,1])
>>> np.bincount(arr)
array([4, 1])

以下のように2が2個, 5が1個の場合

>>> arr = np.array([2,2,5])
>>> np.bincount(arr)
array([0, 0, 2, 0, 0, 1])

ヒストグラムを作る時にとても使えると思います。

参考文献

https://numpy.org/doc/stable/reference/generated/numpy.bincount.html

タイトルとURLをコピーしました