どうも、ちょげ(@chogetarou)です。
Numpy配列(Array)で条件を満たす要素の個数を検索する方法を紹介します。
方法

Numpy配列で条件を満たす要素の個数を検索する方法は、3つあります。
numpy.count_nonzero()
1つ目は、numpy.count_nonzero()を使う方法です。
まず、numpy.count_nonzero()を呼び出します。
そして、numpy.count_nonzero()の引数に条件式を指定します。(条件式ではNumpy配列自体を比較する)
#条件式ではNumpy配列自体を比較する
result = np.count_nonzero(条件式)
上記のnumpy.count_nonzero()は、条件式で比較したNumpy配列を検索し、条件式でTrueとなる要素の個数を返します。
使用例
import numpy as np
nums = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],] )
result1 = np.count_nonzero(nums > 4)
result2 = np.count_nonzero(nums % 2 == 0)
print(result1) #5
print(result2) #4
sum()メソッド
2つ目は、sum()メソッドを使う方法です。
まず、Numpy配列自体を比較対象にした条件式を記述します。
そして、条件式の結果からsum()メソッドを呼び出します。
#条件式ではNumpy配列自体を比較する
result = (条件式).sum()
上記のsum()メソッドは、条件式で比較したNumpy配列を検索し、条件式でTrueとなる要素の個数を返します。
使用例
import numpy as np
nums = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],] )
result1 = (nums > 4).sum()
result2 = (nums % 2 == 0).sum()
print(result1) #5
print(result2) #4
numpy.sum()
3つ目は、numpy.sum()を使う方法です。
まず、Numpy配列自体を比較対象にした条件式を記述します。
そして、条件式の結果からsum()メソッドを呼び出します。
#条件式ではNumpy配列自体を比較する
result = (条件式).sum()
上記のsum()メソッドは、条件式で比較したNumpy配列を検索し、条件式でTrueとなる要素の個数を返します。
使用例
import numpy as np
nums = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],] )
result1 = (nums > 4).sum()
result2 = (nums % 2 == 0).sum()
print(result1) #5
print(result2) #4
まとめ
Numpy配列(Array)で条件を満たす要素の個数を検索する方法は、次の3つです。
- numpy.count_nonzero()を使う方法
- sum()メソッドを使う方法
- numpy.sum()を使う方法
コメント