A Média Aritmética é um conceito fundamental em estatística que representa um indicador do valor central de um conjunto de dados, assim, fornecendo uma representação simplificada e concisa de informações mais complexas. Ele pode ser dividido em média aritmética simples e ponderada.



Média Aritmética Simples

A média aritmética simples é a forma mais básica de calcular a média, portanto é utilizada quando todos os valores do conjunto têm a mesma importância.

Fórmulas:

$$\large Amostras: \bar{x} = \dfrac{\sum_{i=1}^{n}x_{i}}{n}$$

$$\large Populações: \mu = \dfrac{\sum_{i=1}^{N}x_{i}}{N}$$

Sendo:

  • $\mu:$ Média populacional
  • $\bar{x}:$ Média amostral
  • $x_{i}:$ Cada dado da série de dados
  • $N:$ Número de elementos populacional
  • $n:$ Número de elementos amostral

Python :

m = sum(values) / len(values)

Julia :

m = sum(values) / length(values)

Libs:

Linguagem Biblioteca Função
Python Numpy np.mean(values)
Statistics st.mean(values)
Pandas df["coluna"].mean()
Julia Statistics mean(values)
StatsBase mean(values)

Exemplos

Uma pesquisa foi feita para descobrir quanto tempo (em minutos) as pessoas levam para ir de casa ao trabalho. Desse modo, foram coletados os seguintes tempos de deslocamento em 12 dias diferentes: 23, 26, 21, 18, 22, 29, 28, 25, 25, 19, 28 e 21 minutos. Assim, sendo, calcule a média do tempo de deslocamento.

Python

lista = [23, 26, 21, 18, 22, 29, 28, 25, 25, 19, 28, 21]

# Calculando a média aritmética simples
m = sum(lista) / len(lista)

''' Utilizando a biblioteca Numpy, para assim, encontrar a média '''

import numpy as np

lista = [23, 26, 21, 18, 22, 29, 28, 25, 25, 19, 28, 21]

# Calculando a média aritmética simples
m = np.mean(lista)

''' Convertendo o resultado, para assim, ter um valor temporal '''
# Como o resultado foi 23.75, sabemos que são 23 minutos, portanto, é necessário converter os 0.75 em segundos

# Descobrindo os minutos
minutos = int(m)
resto_minutos = m - int(m)

# Descobrindo os segundos
segundos = int(60 * resto_minutos)

minutos, segundos

Julia

valor = [23, 26, 21, 18, 22, 29, 28, 25, 25, 19, 28, 21]

# Calculando a média aritmética simples
m = sum(valor) / length(valor)


Média Aritmética Ponderada

A média aritmética ponderada é utilizada quando os valores do conjunto têm pesos diferentes, ou seja, importâncias diferentes. Cada valor é multiplicado por um peso que indica sua relevância, assim, pesos maiores terão maior impacto no resultado obtido.


Fórmulas:

$$Amostras: \begin{matrix} \large \bar{x} = \frac{\sum_{i=1}^{n}(x_{i}\cdot f_{i})}{n}\\ \small ou \\ \large \bar{x} = \frac{\sum_{i=1}^{n}(x_{i}\cdot f_{i})}{\sum_{i=1}^{n} f_i} \end{matrix}$$


$$Populações: \begin{matrix} \large \mu = \frac{\sum_{i=1}^{N}(x_{i}\cdot f_{i})}{N}\\ \normalsize ou \\ \large \mu = \frac{\sum_{i=1}^{N}(x_{i}\cdot f_{i})}{\sum_{i=1}^{N} f_i} \end{matrix}$$

Sendo:

  • $\bar{x}, \mu:$ Média amostral ou populacional.
  • $x_{i}:$ Elementos da população ou amostra.
  • $f_{i}:$ Frequência dos elementos da população ou amostra.
  • $n:$ Número de elementos da amostra.
  • $N:$ Número de elementos da população.

Python :

m = sum(list(map(lambda x, y: x * y, valor, freq))) / sum(freq)

Julia :

m = sum(valor .* freq) / sum(freq)

Libs:

Linguagem Biblioteca Função
Python Numpy np.average(values)
+
np.multiply(values, freq) / sum(freq)
Julia StatsBase mean(values, weights(freq))


Exemplos

Em primeiro lugar, observemos a distribuição das notas da turma “A” de Matemática, apresentada na tabela a seguir. Assim sendo, determine o valor da média aritmética da distribuição de frequências.

Notas345678910
Frequências146910956

Python

dicio = {3: 1, 4: 4, 5: 6, 6: 9, 7: 10, 8: 9, 9: 5, 10: 6}

# Separando os valores e suas frequências, para assim, ter duas listas independentes
valor = list(dicio.keys())
freq = list(dicio.values())

# Calculando a média
m = sum(list(map(lambda x, y: x*y, valor, freq))) / sum(freq)

''' A fim de encontrar a média ponderada dos elementos, utilizaremos a função average da biblioteca Numpy '''

import numpy as np

dicio = {3: 1, 4: 4, 5: 6, 6: 9, 7: 10, 8: 9, 9: 5, 10: 6}

# Separando os valores e suas frequências em duas listas independentes
valor = list(dicio.keys())
freq = list(dicio.values())

# Calculando a média
m = np.average(valor, weights=freq)

''' A fim de realizar a multiplicação dos elementos, utilizaremos a função multiply da biblioteca Numpy '''

import numpy as np

dicio = {3: 1, 4: 4, 5: 6, 6: 9, 7: 10, 8: 9, 9: 5, 10: 6}

# Separando os valores e suas frequências, para assim, ter duas listas independentes
valor = list(dicio.keys())
freq = list(dicio.values())

# Calculando a média
m = sum(np.multiply(valor, freq)) / sum(freq)

''' Convertendo dessa forma os elementos do dicionário com suas frequências em uma lista com todos os elementos.'''

dicio = {3: 1, 4: 4, 5: 6, 6: 9, 7: 10, 8: 9, 9: 5, 10: 6}

# Convertendo o dicionário, para assim, ter uma lista
lista = [k for k, v in dicio.items() for _ in range(v)]

# Calculando a média
m = sum(lista) / len(lista)

Julia

dicio = Dict(3 => 1, 4 => 4, 5 => 6, 6 => 9, 7 => 10, 8 => 9, 9 => 5, 10 => 6)

# Separando os valores e suas frequências, para assim, ter dois vetores independentes
valor = keys(dicio)
freq = values(dicio)

# Calculando a média
m = sum(valor .* freq) / sum(freq)

" Utilizando a biblioteca StatsBase "

using StatsBase

dicio = Dict(3 => 1, 4 => 4, 5 => 6, 6 => 9, 7 => 10, 8 => 9, 9 => 5, 10 => 6)

# Separando os valores e suas frequências, para assim, ter dois vetores independentes
valor = collect(keys(dicio))
freq = collect(values(dicio))

# Calculando a média
m = mean(valor, weights(freq))