1
resposta

Boxplot com eixo X e eixo Y

Oi pessoal,

Não entendi como o professor diferenciou homens e mulheres no boxplot da variável sexo...

Se alguém puder esclarecer, obrigada :)

1 resposta

Boas Heloisa! Tudo bem? Espero que sim Para melhor resolver sua dúvida vamos explorar um pouco mais da função sns.boxplot(). E entender como foi realizada a separação entre homens e mulheres. Quando chamamos a função sns.boxplot(), podemos trabalhar com diversos parâmetros. Dois dos principais, quando estamos trabalhando com DataFrames são:

  • Data: o DataFrame que possui os dados que nos interessam;
  • X: Estrutura de dados que será representada pelo eixo x. Apenas com esses dois parâmetros, já podemos construir um boxplot, que foi o que o instrutor demonstrou no código abaixo:
ax = sns.boxplot(x="Altura", data=dados, orient='h')
ax.figure.set_size_inches(12,4)
ax.set(title='Boxplot Altura', xlabel='Metros')

Que retorna:

Boxplot simples da variável Altura, perfeitamente simetrico

Entretanto, o seaborn é preparado para receber DataFrames do pandas, e isso facilita bastante nossa vida, pois passando o Dataframe no parâmetro data, podemos realizar alguns gráficos interessantes com bastante facilidade.

Uma dessas construções é a que o professor usou para separar os boxplots de homens e mulheres.

Isso foi feito passando para o parâmetro y a variável que gostaríamos que fosse feita a divisão, no caso o Sexo. Como o seaborn já é uma biblioteca preparada para receber DataFrames, basta passar este parâmetro que ela "se vira" para montar o gráfico. Veja o código abaixo:

ax = sns.boxplot(x="Altura",y="Sexo", data=dados, orient='h')
ax.figure.set_size_inches(12,4)
ax.set(title='Boxplot Altura', xlabel='Metros')

Que resulta em:

Boxplot de alturas por sexo. Ambos os boxplots são iguais e perfeitamente simétricos

Perceba que a única alteração em relação ao primeiro foi a inclusão do parâmetro y, que, quando recebe uma coluna do DataFrame, faz a divisão dos boxplots a partir dessa coluna.

O mesmo pode ser feito com uma outra variável categórica - cor. Veja abaixo como fazer:

ax = sns.boxplot(x="Altura",y="Cor", data=dados, orient='h')
ax.figure.set_size_inches(12,4)
ax.set(title='Boxplot Altura', xlabel='Metros')

Que resulta em:

Boxplot de alturas divididos por cor. todos simétricos com pequenas variações

Se quiser mais informações sobre essa função, pode acessar a documentação, mas que infelizmente só está disponível em inglês. Espero ter ajudado! Bons estudos!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software