Histograma em python

O histograma (também conhecido como distribuição de frequências) é a representação gráfica em colunas ou em barras (retângulos) de um conjunto de dados previamente tabulado e dividido em classes. A base de cada retângulo representa uma classe, enquanto que a altura de cada um representa a quantidade ou a frequência absoluta com que o valor da classe ocorre no conjunto de dados, para classes uniformes, ou a densidade de frequência, para classes não uniformes.

Exemplo de histograma gerado pelo script desse post
Exemplo de histograma gerado pelo script desse post

A biblioteca “matplotlib” do python permite montar facilmente um histograma, para imprimir na tela ou salvar como um arquivo de imagem. Ele é chamado pelo método “hist“, que recebe os dados como entrada e outros parâmetros. Para a leitura de dados de um arquivo CSV (colunas separadas por vírgula), a biblioteca “pandas” permite ler e gravar na memória uma planilha com as informações desse arquivo. Para cálculos matemáticos e outras funções, existe a biblioteca “numpy”.

O script a seguir carrega essas bibliotecas, faz a leitura do arquivo e chama a função para fazer o histograma. Como argumentos da função “histogram()”, estão o tipo de histograma, um vetor de dados, o nome da variável (a ser impresso no rótulo do eixo x) e uma variável extra (pode ser o nome do lugar ou outra informação para especificar o conjunto de dados, a ser impressa no título e no nome do arquivo).

Com relação aos tipos do histograma, uma das opções é fixar o tamanho dos bins (‘fixed_bin_size’), por exemplo todos os bins de largura 5 (definido na variável “bin_size = 5”). Outra opção é fixar o número de bins (‘fixed_number_bins’), por exemplo definindo como 30 bins, independente da largura que o algoritmo escolha (definido na variável “n_bins = 30”). No caso de não especificar os bins, ele será definido pelo método de Freedman-Diaconis.

Na função “histogram”, também são calculadas a média dos dados e seu valor máximo, que são impressos no próprio gráfico. Você também pode alterar o script para que a variável extra seja o tamanho ou o número dos bins, desse modo sendo informado como um parâmetro da função.

Se a variável “density” (ou “normed”, nas versões mais antigas) for definida como True, os pesos serão normalizados, de modo que a integral da densidade na faixa permaneça 1 (o padrão é “None”).