Python でリストのモードを見つける
-
Python で
max()
関数とキーを使用してリストのモードを検索する -
Python でコレクションパッケージの
Counter
クラスを使用してリストのモードを検索する -
Python で
statistics
モジュールのmode()
関数を使用してリストのモードを検索する -
統計モジュールの
multimode()
関数を使用して、Python のモードのリストを検索する
リストは、データのシーケンスを保持して反復するために Python で使用される最も強力なデータ構造の 1つです。数値、文字列などのさまざまなデータ型を含めることができます。
特定のデータセットでは、モードは最も高い頻度で表示される値または要素です。1つのモード、複数のモード、またはまったくモードがない場合があります。すべての要素が一意である場合、モードはありません。
このチュートリアルでは、Python でリストのモードを見つける方法について説明します。
Python で max()
関数とキーを使用してリストのモードを検索する
max()
関数は、指定されたデータセットの最大値を返すことができます。count()
メソッドを使用した key
引数は、各要素がデータセットに存在する回数を比較して返します。
したがって、関数 max(set(list_name), key = list_name.count)
は、リストの必須モードである、指定されたリストで最大回数発生する要素を返します。
例えば、
A = [10, 30, 50, 10, 50, 80, 50]
print("Mode of List A is % s" % (max(set(A), key=A.count)))
B = ["Hi", 10, 50, "Hi", 100, 10, "Hi"]
print("Mode of List B is % s" % (max(set(B), key=B.count)))
出力:
Mode of List A is 50
Mode of List B is Hi
この関数は、データセットに複数のモードが存在する場合に最小のモードを返します。
例えば、
C = [10, 30, "Hello", 30, 10, "Hello", 30, 10]
print("Mode of List C is % s" % (max(set(C), key=C.count)))
出力:
Mode of List C is 10
Python でコレクションパッケージの Counter
クラスを使用してリストのモードを検索する
コレクションパッケージの Counter
クラスは、特定のデータセットに存在する各要素の出現回数をカウントするために使用されます。
Counter
クラスの .most_common()
メソッドは、それぞれの一意の要素とその頻度を持つ 2 項目のタプルを含むリストを返します。
例えば、
from collections import Counter
A = [10, 10, 30, 10, 50, 30, 60]
Elements_with_frequency = Counter(A)
print(Elements_with_frequency.most_common())
出力:
[(10, 3), (30, 2), (50, 1), (60, 1)]
Counter(list_name).most_common(1)[0][0]
関数は、リストの必要なモードを返します。リストに複数のモードが存在する場合、最小のモードが返されます。
例:
from collections import Counter
A = [10, 10, 30, 10, 50, 30, 60]
print("Mode of List A is % s" % (Counter(A).most_common(1)[0][0]))
出力:
Mode of List A is 10
Python で statistics
モジュールの mode()
関数を使用してリストのモードを検索する
Python 統計モジュールの mode()
関数は、データセットをパラメーターとして受け取り、そのモード値を返します。
例:
from statistics import mode
A = [10, 20, 20, 30, 30, 30]
print("Mode of List A is % s" % (mode(A)))
B = ["Yes", "Yes", "Yes", "No", "No"]
print("Mode of List B is % s" % (mode(B)))
出力:
Mode of List A is 30
Mode of List B is Yes
この関数は、データセットが空の場合、または複数のモードが存在する場合に、StatisticsError
を発生させます。ただし、Python の新しいバージョンでは、シーケンスに複数のモードがある場合、最小の要素がモードと見なされます。
統計モジュールの multimode()
関数を使用して、Python のモードのリストを検索する
統計モジュールの multimode()
関数は、いくつかのデータセットをパラメーターとして受け取り、モードのリストを返します。この関数は、特定のデータセットに複数の最頻値が存在する場合に使用できます。
例:
from statistics import multimode
A = [10, 20, 20, 30, 30, 30, 20]
print("Mode of List A is % s" % (multimode(A)))
B = ["Yes", "Yes", "Yes", "No", "No", "No", "Maybe", "Maybe"]
print("Mode of List B is % s" % (multimode(B)))
出力:
Mode of List A is [20, 30]
Mode of List B is ['Yes', 'No']