どうも、ちょげ(@chogetarou)です。
配列(Array)で特定の要素の数をカウントする方法を紹介します。
方法

リスト(List)
リストで特定の要素の数をカウントするには、count()メソッドを使います。
まず、リスト(List)からcount()メソッドを呼び出します。
そして、count()メソッドの引数に要素を指定します。
result = list.count(item)
count()メソッドは、引数に指定した要素の数を、呼び出したリスト内でカウントした結果を返します。
使用例
numbers = [1, 2, 3, 1, 4, 5, 1]
result = numbers.count(1)
print(result) #3
Array.array
Array.arrayで特定の要素の数をカウントするには、count()メソッドを使います。
まず、Array.arrayからcount()メソッドを呼び出します。
そして、count()メソッドの引数に要素を指定します。
result = array.count(item)
count()メソッドは、引数に指定した要素の数を、呼び出したArray.array内でカウントした結果を返します。
使用例
import array
numbers = array.array('i', [1, 2, 3, 1, 4, 1, 1, 5])
result = numbers.count(1)
print(result) #4
Numpy配列
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 == 2)
print(result1) #4
print(result2) #2
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 == 2).sum()
print(result1) #4
print(result2) #2
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
まとめ
リストとArray.arrayで特定の要素の数をカウントするには、count()メソッドを使います。
Numpy配列(Array)で特定の要素の数をカウントするには、次の3つの方法のいずれかを使います。
- numpy.count_nonzero()を使う方法
- sum()メソッドを使う方法
- numpy.sum()を使う方法
コメント