HOWTO · Python
Python リストで一意の値を数える
Python のリストで一意の値を数える
このページの内容
この記事では、リスト内の一意の値をカウントするためのさまざまなメソッドを以下のメソッドを使って紹介します。
collections.Counterset(listName)np.unique(listName)
collections.counter を使用して Python リストの一意の値をカウントする
collections は Python の標準ライブラリであり、ハッシュ可能なオブジェクトを数えるための Counter クラスを含まれています。
Counter クラスには 2つのメソッドがあります。
keys()はリスト内の一意な値を返します。values()はリスト内のすべての一意な値の数を返します。
関数 len() を用いて Counter クラスを引数に渡すことで一意な値の数を得ることができます。
コード例
from collections import Counter
words = ["Z", "V", "A", "Z", "V"]
print(Counter(words).keys())
print(Counter(words).values())
print(Counter(words))
出力:
['V', 'A', 'Z']
[2, 1, 2]
3
set を使用して Python リストの一意の値をカウントする
set は反復可能であり、変異可能であり、要素の重複を持たない無秩序なコレクションデータ型です。リストを set() 関数を使って set に変換した後、set の長さを取得して、リスト内の一意でない値を数えることができます。
コード例:
words = ["Z", "V", "A", "Z", "V"]
print(len(set(words)))
出力:
3
numpy.unique を使用して Python リストの一意の値をカウントする
また、return_counts パラメータに True を指定した場合は、それぞれの値のカウントも返します。
コード例:
import numpy as np
words = ["Z", "V", "A", "Z", "V"]
np.unique(words)
print(len(np.unique(words)))
出力:
3