[DATA SCIENCE] DAY: 022 - Investigando a disperção de uma variável
🐢 Bom dia, boa tarde e boa noite pessoal, tudo bem?
🎯 Hoje iremos falar sobre desvio padrão, variância, contagem de valores e descritivo estatístico.
📝 Obs: Irei utilizar o jupyter notebook para a fácil visualização dos gráficos, mas fique a vontade para escolher outro ambiente de sua preferência. Uma sugestão caso não conheça nenhum, tem o colab do google.
1 - Primeiro, podemos usar a notação as
para abreviar o nome das bibliotecas e métodos que vamos importar e facilitar a escrita de código:
💻
import pandas as pd
📝 Obs:
- A linha
import pandas as pd
importa a biblioteca pandas para utilizar suas funções para manipular e analisar dados.
2 - Após a importação do pandas, vamos ler um arquivo CSV chamado "mtcars.csv" e através dos dados obtidos, vamos ler os dados iniciais:
🔍 Para baixar o arquivo que está sendo usado, clique aqui.
💻
caminho = 'O-caminho-do-seu-arquivo/mtcars.csv'
carros = pd.read_csv(caminho)
carros.columns = ['nomes','mpg','cyl','disp', 'hp', 'drat', 'wt', 'qsec', 'vs', 'am', 'qtd_marchas', 'carb']
carros.head()
Saída do código:
Unnamed: 0 mpg cyl disp hp drat wt qsec vs am gear carb
0 Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
1 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
2 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
3 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
4 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
📝 Obs: O que esse código faz???
- O caminho do arquivo é especificado como uma variável chamada
caminho
- O arquivo é lido usando a função
pd.read_csv
e armazenado em uma variável chamadacarros
- As colunas do conjunto de dados são renomeadas para nomes mais significativos usando a propriedade
columns
. - O método
head
é usado para exibir as primeiras linhas do conjunto de dados.
3 - Iremos abordar o tema Desvio Padrão
,onde é utilizado como uma medida de dispersão estatística que indica o quão longe os valores estão da média (ou a tendência central) de um conjunto de dados:
💻
carros.std()
Saída do código:
mpg 6.026948
cyl 1.785922
disp 123.938694
hp 68.562868
drat 0.534679
wt 0.978457
qsec 1.786943
vs 0.504016
am 0.498991
qtd_marchas 0.737804
carb 1.615200
dtype: float64
📝 Obs: O que esse código faz???
- O código está usando o método
.std()
do pacote pandas - Quanto maior o desvio padrão, maior a variabilidade dos dados.
- Esse método calcula o desvio padrão para cada coluna numérica do DataFrame.
- O resultado final é retornado como um novo DataFrame ou Série com esses valores.
4 - Seguindo, vamos ver Variância, onde é similar ao desvio padrão, mas é expressa em termos dos quadrados dos valores, ao invés da raiz quadrada:
💻
carros.var()
Saída dos dados:
mpg 36.324103
cyl 3.189516
disp 15360.799829
hp 4700.866935
drat 0.285881
wt 0.957379
qsec 3.193166
vs 0.254032
am 0.248992
qtd_marchas 0.544355
carb 2.608871
dtype: float64
📝 Obs: O que esse código faz???
- O código está usando o método
.var()
do pacote pandas. - A variância é outra medida de dispersão estatística que indica o quão longe, em geral, os valores estão da média (ou a tendência central) de um conjunto de dados.
- Esse método calcula a variância para cada coluna numérica do DataFrame.
- O resultado final é retornado como um novo conjunto de dados com esses valores.
5 - Seguindo, vamos ver o método .value_counts()
, onde conta todos os valores em um array ou objeto do tipo Series:
💻
marchas = carros.qtd_marchas
marchas.value_counts()
Saída do código:
3 15
4 12
5 5
Name: qtd_marchas, dtype: int64
📝 Obs: O que esse código faz???
- O código está criando uma nova série chamada
marchas
a partir da colunaqtd_marchas
do DataFrame . - O método
value_counts()
é aplicado na sériemarchas
. - Esse método conta a frequência de cada valor único na série, e classifica os valores pela contagem decrescente.
- Ele retorna um novo objeto (também uma série) com os valores únicos e suas respectivas contagens.
- O objeto retornado pode ser utilizado para visualizar de maneira facil as contagens de cada valor único da série.
5 - Por último, vamos falar sobre descritivo estatístico, usado para calcular estatísticas básicas, informações como contagem, média, desvio padrão, valor mínimo, valor máximo e quartis (25%, 50% e 75%) dos valores em cada coluna numérica do DataFrame original:
💻
carros.describe()
Saída do código:
mpg cyl disp hp drat wt qsec vs am qtd_marchas carb
count 32.000000 32.000000 32.000000 32.000000 32.000000 32.000000 32.000000 32.000000 32.000000 32.000000 32.0000
mean 20.090625 6.187500 230.721875 146.687500 3.596563 3.217250 17.848750 0.437500 0.406250 3.687500 2.8125
std 6.026948 1.785922 123.938694 68.562868 0.534679 0.978457 1.786943 0.504016 0.498991 0.737804 1.6152
min 10.400000 4.000000 71.100000 52.000000 2.760000 1.513000 14.500000 0.000000 0.000000 3.000000 1.0000
25% 15.425000 4.000000 120.825000 96.500000 3.080000 2.581250 16.892500 0.000000 0.000000 3.000000 2.0000
50% 19.200000 6.000000 196.300000 123.000000 3.695000 3.325000 17.710000 0.000000 0.000000 4.000000 2.0000
75% 22.800000 8.000000 326.000000 180.000000 3.920000 3.610000 18.900000 1.000000 1.000000 4.000000 4.0000
max 33.900000 8.000000 472.000000 335.000000 4.930000 5.424000 22.900000 1.000000 1.000000 5.000000 8.0000
📝 Obs: O que esse código faz???
- O código está usando o método
.describe()
do pacote pandas. - Isso permite obter uma visão geral rápida das estatísticas dos dados, como tendência central, dispersão, distribuição, etc.
- O resultado final é retornado como um novo conjunto de dados com essas estatísticas.