Trova la modalità di una lista in Python

Samyak Jain 30 gennaio 2023
  1. Usa la funzione max() e una chiave per trovare la modalità di un elenco in Python
  2. Usa la classe Counter nel pacchetto Collections per trovare la modalità di un elenco in Python
  3. Usa la funzione mode() dal modulo statistics per trovare la modalità di una lista in Python
  4. Usa la funzione multimode() dal modulo Statistics per trovare un elenco di modalità in Python
Trova la modalità di una lista in Python

Un elenco è una delle strutture dati più potenti utilizzate in Python per preservare la sequenza di dati e scorrere su di essa. Può contenere diversi tipi di dati come numeri, stringhe e altro.

In un dato set di dati, una modalità è un valore o un elemento che appare con la frequenza più alta. Ci può essere una modalità, più di una modalità o nessuna modalità. Non ci sarà alcuna modalità se tutti gli elementi sono unici.

In questo tutorial, discuteremo come trovare la modalità di un elenco in Python.

Usa la funzione max() e una chiave per trovare la modalità di un elenco in Python

La funzione max() può restituire il valore massimo del dato set di dati. L’argomento key con il metodo count() confronta e restituisce il numero di volte in cui ogni elemento è presente nel set di dati.
Pertanto, la funzione max(set(list_name), key = list_name.count) restituirà l’elemento che ricorre il numero massimo di volte nella lista dato che è la modalità richiesta della lista.

Per esempio,

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)))

Produzione:

Mode of List A is 50
Mode of List B is Hi

Questa funzione restituirà la modalità più piccola quando sono presenti più modalità nel set di dati.

Per esempio,

C = [10, 30, "Hello", 30, 10, "Hello", 30, 10]
print("Mode of List C is % s" % (max(set(C), key=C.count)))

Produzione:

Mode of List C is 10

Usa la classe Counter nel pacchetto Collections per trovare la modalità di un elenco in Python

La classe Counter nel pacchetto delle collezioni viene utilizzata per contare il numero di occorrenze di ciascun elemento presente nel dato insieme di dati.

Il metodo .most_common() della classe Counter restituisce un elenco contenente tuple di due elementi con ogni elemento univoco e la sua frequenza.

Per esempio,

from collections import Counter

A = [10, 10, 30, 10, 50, 30, 60]
Elements_with_frequency = Counter(A)
print(Elements_with_frequency.most_common())

Produzione:

[(10, 3), (30, 2), (50, 1), (60, 1)]

La funzione Counter(list_name).most_common(1)[0][0] restituirà la modalità richiesta della lista. Quando ci sono più modalità presenti nella lista, restituirà la modalità più piccola.

Esempio :

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]))

Produzione:

Mode of List A is 10

Usa la funzione mode() dal modulo statistics per trovare la modalità di una lista in Python

La funzione mode() nel modulo delle statistiche python prende un set di dati come parametro e restituisce il suo valore di modalità.

Esempio :

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)))

Produzione:

Mode of List A is 30
Mode of List B is Yes

Questa funzione solleverà il StatisticsError quando il set di dati è vuoto o quando è presente più di una modalità. Tuttavia, nelle versioni più recenti di Python, l’elemento più piccolo sarà considerato la modalità quando sono presenti più modalità di una sequenza.

Usa la funzione multimode() dal modulo Statistics per trovare un elenco di modalità in Python

La funzione multimode() nel modulo delle statistiche prende alcuni set di dati come parametro e restituisce un elenco di modalità. Possiamo usare questa funzione quando è presente più di un valore modale in un dato set di dati.

Esempio :

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)))

Produzione:

Mode of List A is [20, 30]
Mode of List B is ['Yes', 'No']

Articolo correlato - Python List