Lidando com Valores Ausentes
Apenas um número limitado de modelos de aprendizado de máquina consegue lidar com valores ausentes, portanto, é necessário verificar o conjunto de dados para garantir que não restem lacunas. Se houver valores ausentes, eles podem ser tratados de duas maneiras:
- Remover as linhas que contêm valores ausentes;
- Preencher as células vazias com valores substitutos, um processo conhecido como imputação.
Identificação de Valores Ausentes
Para exibir informações gerais sobre o conjunto de dados e verificar a existência de valores ausentes, pode-se utilizar o método .info()
de um DataFrame.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
O conjunto de dados possui 344 entradas, mas as colunas 'culmen_depth_mm'
, 'flipper_length_mm'
, 'body_mass_g'
e 'sex'
contêm menos de 344 valores não nulos cada, indicando a presença de dados ausentes.
Null é outro nome para valores ausentes.
Para identificar o número de valores ausentes em cada coluna, aplique o método .isna()
e, em seguida, utilize .sum()
.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
Linhas contendo valores ausentes podem ser exibidas com:
df[df.isna().any(axis=1)]
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
Remoção de Linhas
A primeira e a última linhas contêm apenas os valores da variável alvo ('species'
) e de 'island'
, fornecendo informações insuficientes para serem úteis. Essas linhas podem ser removidas mantendo apenas aquelas com menos de dois valores NaN
e reatribuindo-as ao df
.
123456import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
Em contraste, as linhas restantes contêm informações úteis, com valores NaN
aparecendo apenas na coluna 'sex'
. Em vez de remover essas linhas, os valores ausentes podem ser imputados. Uma abordagem comum é utilizar o transformador SimpleImputer
, que será abordado no próximo capítulo.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain more about how imputing works?
What are some other ways to handle missing values besides removing or imputing?
Why is it important to handle missing values before training a machine learning model?
Awesome!
Completion rate improved to 3.13
Lidando com Valores Ausentes
Deslize para mostrar o menu
Apenas um número limitado de modelos de aprendizado de máquina consegue lidar com valores ausentes, portanto, é necessário verificar o conjunto de dados para garantir que não restem lacunas. Se houver valores ausentes, eles podem ser tratados de duas maneiras:
- Remover as linhas que contêm valores ausentes;
- Preencher as células vazias com valores substitutos, um processo conhecido como imputação.
Identificação de Valores Ausentes
Para exibir informações gerais sobre o conjunto de dados e verificar a existência de valores ausentes, pode-se utilizar o método .info()
de um DataFrame.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
O conjunto de dados possui 344 entradas, mas as colunas 'culmen_depth_mm'
, 'flipper_length_mm'
, 'body_mass_g'
e 'sex'
contêm menos de 344 valores não nulos cada, indicando a presença de dados ausentes.
Null é outro nome para valores ausentes.
Para identificar o número de valores ausentes em cada coluna, aplique o método .isna()
e, em seguida, utilize .sum()
.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
Linhas contendo valores ausentes podem ser exibidas com:
df[df.isna().any(axis=1)]
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
Remoção de Linhas
A primeira e a última linhas contêm apenas os valores da variável alvo ('species'
) e de 'island'
, fornecendo informações insuficientes para serem úteis. Essas linhas podem ser removidas mantendo apenas aquelas com menos de dois valores NaN
e reatribuindo-as ao df
.
123456import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
Em contraste, as linhas restantes contêm informações úteis, com valores NaN
aparecendo apenas na coluna 'sex'
. Em vez de remover essas linhas, os valores ausentes podem ser imputados. Uma abordagem comum é utilizar o transformador SimpleImputer
, que será abordado no próximo capítulo.
Obrigado pelo seu feedback!