Como calcular a mediana de uma lista de valores em Python sem usar bibliotecas

Calcular a mediana de uma lista de valores em Python sem bibliotecas

Em Estatística, a mediana é um valor que divide um conjunto de dados ordenados em duas partes iguais. É o valor que está exatamente no meio de um conjunto de dados ordenados, onde metade dos valores está acima dele e a outra metade está abaixo.

A mediana é uma medida de tendência central alternativa à média, que é a soma de todos os valores dividida pelo número total de valores.

A mediana é particularmente útil quando os dados apresentam valores extremos ou outliers, que podem afetar significativamente a média e torná-la menos representativa do conjunto de dados como um todo.

Por exemplo, suponha que temos o seguinte conjunto de dados: 1, 3, 5, 7, 9. A mediana deste conjunto de dados é 5, já que é o valor que está exatamente no meio da lista, dividindo-a em duas partes iguais: 1, 3 e 5 abaixo dele e 7 e 9 acima dele.

Já a média deste conjunto de dados é (1+3+5+7+9)/5 = 5, o que também representa uma medida de tendência central, mas que é mais sensível a valores extremos.

Fórmulas para cálculo de mediana

O modo de calcular a mediana é diferente para conjuntos com quantidade par ou ímpar de observações. Sendo assim, podemos empregar as seguintes fórmulas para calcular a mediana de um conjunto de valores já ordenados:

Número ímpar de observações

Se o número total de observações (valores) for ímpar, então a fórmula usada para calcular a mediana será a seguinte:

Calcular mediana com número ímpar de observações em Python

Onde n é o número de observações.

Por exemplo, no conjunto de sete dados ordenados (1, 4, 5, 7, 8, 9, 12) a mediana será (7 + 1) / 2 = 4º elemento, ou seja, o valor 7, que é claramente o valor central

Número par de observações

Se o número total de observações (valores) for par, então a fórmula usada para calcular a mediana será a seguinte:

Calcular mediana com número par de observações em Python

Onde n é o número de observações, e a mediana é portanto a média dos dois valores centrais.

Por exemplo, no conjunto de oito dados ordenados (1, 3, 4, 5, 7, 8, 9, 12) a mediana será:
{8 / 2 +  [(8 / 2) + 1]} / 2  = 4º elemento + 5º elemento) / 2 = (5 + 7) / 2 = 6

Ou seja, o valor 6. Note que este valor não pertence à lista, mas é a mediana dos valores fornecidos.

Calcular a mediana usando Python, sem usar módulos adicionais

Podemos calcular a mediana de uma lista em Python seguindo os seguintes passos:

  1. Ordenar a lista de valores em ordem crescente.
  2. Verificar se a lista tem um número ímpar de elementos ou um número par de elementos.
  3. Se a lista tiver um número ímpar de elementos, a mediana é o valor do meio. Se a lista tiver um número par de elementos, a mediana é a média dos dois valores do meio.

Abaixo temos um exemplo de uma função codificada em Python que implementa esses passos:

def calcularMediana(lista):
    n = len(lista)
    sorted_lista = sorted(lista)

    if n % 2 == 0:
        # Número par de elementos: média dos dois valores do meio.
        metade_direita = n//2
        metade_esquerda = metade_direita - 1
        mediana = (sorted_lista[metade_esquerda] + sorted_lista[metade_direita])/2
    else:
        # Número ímpar de elementos: mediana é o valor do meio.
        metade = n//2
        mediana = sorted_lista[metade]

    return mediana

Neste exemplo, a função calcularMediana() recebe uma lista de valores como argumento e retorna a mediana da lista. A função primeiro calcula o número de elementos na lista, em seguida, ordena a lista em ordem crescente usando a função sorted(). Em seguida, a função verifica se a lista tem um número ímpar ou par de elementos e calcula a mediana de acordo.

Por fim, a função retorna a mediana.

Chamamos essa função passando uma lista de valores como argumento. Por exemplo:

if __name__=='__main__':
    minha_lista = [1, 5, 2, 7, 3, 9, 8, 4, 6, 5, 3, 12, 11, 18, 15, 8, 7, 2, 9]
    mediana = calcularMediana(minha_lista)
    print("A mediana da lista é:", mediana)

Resultado:

A mediana da lista é: 7

É isso aí! Nesta lição mostrei como criar uma função em Python que calcula a mediana de uma lista de valores passados em uma lista, se o emprego de bibliotecas especializadas como o numpy.

 

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*