Gráfico boxplot

O boxplot nos permite visualizar a distribuição de uma variável (coluna do DataFrame) numérica.

_images/grafico_boxplot_dataframe.png

01.Medidas estatísticas observadas no boxplot

Em um boxplot os dados da variável (coluna do DataFrame) estão ordenados no menor para o maior valor.

01.a.Amplitude

Em um boxplot podemos observar a amplitude de uma variável numérica, ou seja, o valor máximo e mínimo.

  • Graficamente os valores máximos e mínimos são representados por duas linhas fora da caixa retangular.

  • Estes valores máximos e mínimos também são chamados de whiskers e qualquer valor fora deles pode ser considerado um outlier, ou seja, um valor discrepante/muito diferente dos demais.

_images/grafico_boxplot.png

01.b.Quartis

Os quartis são três pontos (Q1, Q2, Q3) que dividem o conjunto de dados ordenados em quatro partes:

  • Q1 (primeiro quartil): 25% das observações.

  • Q2 (segundo quartil): 50% das observações.

  • Q3 (terceiro quartil): 75% das observações.

_images/grafico_boxplot_observacoes.png

Note

O Q2 é a mediana.

Vocabulário: lembrando que “observação” é um outro nome para “entradas” e “linhas do DataFrame”.

02.c.Outliers

  • Os outliers são valores discrepantes, ou seja, muito diferentes de todos os valores do conjunto de dados.

  • Geralmente os ``outliers` são produzidos por algum erro na coleta dos dados como um equipamento danificado ou até mesmo um erro de digitação.

  • Geralmente os ``outliers` costumam exercer influência negativa na análise e resultados de um processo de ciência de dados e por isso é recomendável tratá-los.

Esta é um dos pontos de importância do boxplot na etapa de compreensão dos dados em um projeto de ciência de dados.

_images/exemplo_outlier.png

03.Como construir um boxplot

03.a.Importando as bibliotecas necessárias

1#Importando as bibliotecas necessárias
2import pandas as pd
3import matplotlib.pyplot as plt

03.b.Criando um DataFrame

Vamos criar um DataFrame com dados de tempo de atendimento para enfermeiros e enfermeiras:

1#Criando o DataFrame:
2df = pd.DataFrame({
3  'enfermeiros': [40,20,70,30,10,40,20,40,80,10],
4  'enfermeiras': [50,40,60,50,40,20,60,60,40,30]
5})
1#Visualizando o DataFrame
2df.head(10)

Este é o resultado:

_images/head_boxplot.png

03.c.Construindo um boxplot

Para construirmos o boxplot usamos o método boxplot() da biblioteca Pandas junto com os objetos figure e axes da biblioteca Matplotlib desta forma:

1#Criar os objetos figure e axes
2fig, ax_01 = plt.subplots()
1#Criar o boxplot
2df.boxplot(['nome das colunas'], ax = ax_01)
1#Customizar o boxplot
2ax_01.set_title("Tempo de atendimento de enfermeiros e enfermeiras")
3ax_01.set_ylabel("Tempo de atendimento")

Este é o resultado:

_images/grafico_boxplot_clean.png

03.d.Método describe().

A biblioteca Pandas possui o método describe() que descreve as medidas estatísticas mais usadas e que a maioria pode ser observada no boxplot.

1#Método describe()
2df.describe()

Este é o resultado:

_images/df_describe.png