Pular para o conteúdo

Pyplot hist: Como usar eficientemente o método de histograma no Python

[

Python Histogram Plotting: NumPy, Matplotlib, pandas & Seaborn

Neste tutorial, você estará equipado para fazer gráficos de histograma em Python de qualidade de produção, prontos para apresentação, com uma variedade de opções e recursos.

Se você possui conhecimentos introdutórios a intermediários em Python e estatística, então pode usar este artigo como um guia completo para construir e plotar histogramas em Python usando bibliotecas da pilha científica, incluindo NumPy, Matplotlib, pandas e Seaborn.

Um histograma é uma ótima ferramenta para avaliar rapidamente uma distribuição de probabilidade que é intuitivamente compreendida por quase qualquer público. O Python oferece várias opções diferentes para construir e plotar histogramas. A maioria das pessoas conhece um histograma por sua representação gráfica, que é semelhante a um gráfico de barras:

Este artigo irá guiá-lo através da criação de gráficos como o acima, bem como outros mais complexos. Aqui está o que você vai aprender:

  • Construindo histogramas em Python puro, sem o uso de bibliotecas de terceiros
  • Construindo histogramas com NumPy para resumir os dados subjacentes
  • Plotando o histograma resultante com Matplotlib, pandas e Seaborn

Histogramas em Python Puro

Ao se preparar para plotar um histograma, é mais simples não pensar em termos de bins, mas sim em reportar quantas vezes cada valor aparece (uma tabela de frequências). Um dicionário do Python é adequado para essa tarefa:

# Não precisa necessariamente ser ordenado
a = (0, 1, 1, 1, 2, 3, 7, 7, 23)
def contar_elementos(seq) -> dict:
"""Contabiliza os elementos de `seq`."""
hist = {}
for i in seq:
hist[i] = hist.get(i, 0) + 1
return hist
contado = contar_elementos(a)
print(contado)

contar_elementos() retorna um dicionário com os elementos únicos da sequência como chaves e suas frequências (contagens) como valores. Dentro do loop sobre seq, hist[i] = hist.get(i, 0) + 1 diz: “para cada elemento da sequência, incremente seu valor correspondente em hist em 1”.

Na verdade, isso é precisamente o que é feito pela classe collections.Counter da biblioteca padrão do Python, que é uma subclass (subclasse) de um dicionário do Python e substitui seu método .update():

from collections import Counter
recontado = Counter(a)
print(recontado)

Você pode confirmar que sua função feita à mão faz a mesma coisa que o Counter.