Encontrar o modo de uma lista em Python

Samyak Jain 30 janeiro 2023
  1. Use a função max() e uma chave para encontrar o modo de uma lista em Python
  2. Use a classe Counter no pacote de coleções para encontrar o modo de uma lista em Python
  3. Use a função mode() do módulo statistics para encontrar o modo de uma lista em Python
  4. Use a função multimode() do módulo de estatísticas para encontrar uma lista de modos em Python
Encontrar o modo de uma lista em Python

Uma lista é uma das estruturas de dados mais poderosas usadas em Python para preservar a sequência de dados e iterar sobre ela. Ele pode conter diferentes tipos de dados, como números, strings e muito mais.

Em um determinado conjunto de dados, um modo é um valor ou elemento que aparece com a frequência mais alta. Pode haver um modo, mais de um modo ou nenhum modo. Não haverá modo se todos os elementos forem únicos.

Neste tutorial, discutiremos como encontrar o modo de uma lista em Python.

Use a função max() e uma chave para encontrar o modo de uma lista em Python

A função max() pode retornar o valor máximo do conjunto de dados fornecido. O argumento key com o método count() compara e retorna o número de vezes que cada elemento está presente no conjunto de dados.
Portanto, a função max(set(list_name), key = list_name.count) retornará o elemento que ocorre o máximo de vezes na lista fornecida que é o modo requerido da lista.

Por exemplo,

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

Resultado:

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

Esta função retornará o menor modo quando houver vários modos presentes no conjunto de dados.

Por exemplo,

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

Resultado:

Mode of List C is 10

Use a classe Counter no pacote de coleções para encontrar o modo de uma lista em Python

A classe Counter no pacote de coleções é usada para contar o número de ocorrências de cada elemento presente no conjunto de dados fornecido.

O método .most_common() da classe Counter retorna uma lista contendo tuplas de dois itens com cada elemento único e sua frequência.

Por exemplo,

from collections import Counter

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

Resultado:

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

A função Counter(list_name).most_common(1)[0][0] retornará o modo necessário da lista. Quando houver vários modos presentes na lista, ele retornará o modo menor.

Exemplo :

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

Resultado:

Mode of List A is 10

Use a função mode() do módulo statistics para encontrar o modo de uma lista em Python

A função mode() no módulo de estatísticas python usa algum conjunto de dados como um parâmetro e retorna seu valor de modo.

Exemplo :

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

Resultado:

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

Esta função levantará StatisticsError quando o conjunto de dados estiver vazio ou quando mais de um modo estiver presente. No entanto, nas versões mais recentes do Python, o menor elemento será considerado o modo quando houver vários modos de uma sequência.

Use a função multimode() do módulo de estatísticas para encontrar uma lista de modos em Python

A função multimode() no módulo de estatísticas usa alguns conjuntos de dados como parâmetro e retorna uma lista de modos. Podemos usar esta função quando mais de um valor modal está presente em um determinado conjunto de dados.

Exemplo :

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

Resultado:

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

Artigo relacionado - Python List