Menu
Coddy logo textTech

Limpeza de Dados - Dados ausentes

Lição 6 de 19 do curso Análise com Pandas da Coddy.

Geralmente, os arquivos CSV contêm dados ausentes, nomes de colunas incorretos, duplicatas, valores incorretos e tipos de dados incorretos. O módulo Pandas possui todas as ferramentas para lidar com esses problemas.

Dados Ausentes

Para descobrir se um valor está ausente ou não:

df.isna()

Para saber quantos valores ausentes cada coluna possui:

df.isna().sum()

A função isna() converte todos os valores para true ou false (ausente ou não), então aplica. sum() tratará true como 1 e false como 0.

Para iterar sobre as colunas e seu número de valores ausentes, use o método items() assim como em um dicionário (embora seja um objeto de série do Pandas):

for column, missing_num in df.isna().sum().items():
	print(column, missing_num)

Para preencher todos esses valores ausentes para o dataframe inteiro, use o método fillna():

df = df.fillna("some value")

Para preencher valores ausentes apenas para uma coluna, use a função fillna() sobre uma coluna:

df["some_column"] = df["some_column"].fillna("some value")

Também existe a opção de remover todas as linhas com valores ausentes:

df = df.dropna()
challenge icon

Desafio

Fácil

O arquivo CSV missing.csv está bagunçado.

Aqui estão as primeiras 5 linhas do arquivo:

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID
1,France,Signal violet,marksmanship,14,0.1924,1
1,France,Signal violet,marksmanship,14,0.1924,1
2,Solomon Islands,Pearl violet,,4,,1
3,Germany,,calligraphy,12,0.88646,0

Limpe os dados:

  • Preencha os valores ausentes de todas as colunas com mais de 2 valores ausentes com o valor "Missing"
  • Remova todas as demais linhas que possuem valores ausentes.

Para ver seu progresso, imprima o df: print(df)

Armazene o resultado final na variável df.
Não imprima o df para passar no caso de teste!

Experimente você mesmo

# pandas as pd já está importado
df = pd.read_csv("./missing.csv")
# Escreva seu código abaixo

Todas as lições de Análise com Pandas