[Python]Numpy配列(ndarray)で同じ要素の個数を検索するには?

python

どうも、ちょげ(@chogetarou)です。

Numpy配列(Array)で同じ要素の個数を検索する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Numpy配列で同じ要素の個数を検索する方法は、3つあります。

numpy.count_nonzero()

1つ目は、numpy.count_nonzero()を使う方法です。

まず、numpy.count_nonzero()を呼び出します。

そして、numpy.count_nonzero()の引数に、「Numpy配列 == 要素」のような条件式を指定します。

result = np.count_nonzero(array == item)

上記のnumpy.count_nonzero()は、「==」左辺の配列で、「==」右辺の要素の個数を検索します。

使用例

import numpy as np

nums = np.array([[1, 2, 3],  
                [3, 1, 1], 
                [3, 1, 2],] )

result1 = np.count_nonzero(nums == 1)
result2 = np.count_nonzero(nums == 3)

print(result1) #4
print(result2) #3

sum()メソッド

2つ目は、sum()メソッドを使う方法です。

まず、「Numpy配列 == 要素」のような条件式を記述します。

そして、条件式の結果からsum()メソッドを呼び出します。

result = (array == item).sum()

上記のsum()メソッドは、「==」の左辺の配列で、「==」の右辺の要素の個数を検索します。

使用例

import numpy as np

nums = np.array([[1, 2, 3],  
                [3, 1, 1], 
                [3, 1, 2],] )

result1 = (nums == 1).sum()
result2 = (nums == 3).sum()

print(result1) #4
print(result2) #3

numpy.sum()

3つ目は、numpy.sum()を使う方法です。

まず、numpy.sum()を呼び出します。

そして、numpy.sum()の引数に「Numpy配列 == 要素」のような条件式を記述します。

result = np.sum(array == item)

上記のnumpy.sum()は、「==」の左辺の配列で、「==」の右辺の要素の個数を検索します。

使用例

import numpy as np

nums = np.array([[1, 2, 3],  
                [3, 1, 1], 
                [3, 1, 2],] )

result1 = np.sum(nums == 1)
result2 = np.sum(nums == 3)

print(result1) #4
print(result2) #3

まとめ

Numpy配列(Array)で同じ要素の個数を検索する方法は、次の3つです。

  • numpy.count_nonzero()を使う方法
  • sum()メソッドを使う方法
  • numpy.sum()を使う方法

コメント

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