Pandas - Limpando Células Vazias
Células vazias
Células vazias podem fornecer um resultado errado ao analisar dados.
Remover linhas
Uma maneira de lidar com células vazias é remover as linhas que contêm células vazias.
Isso geralmente é bom, pois os conjuntos de dados podem ser muito grandes e a remoção de algumas linhas não terá um grande impacto no resultado.
Exemplo
Retorne um novo Data Frame sem células vazias:
import pandas as pd
df = pd.read_csv('data.csv')
new_df = df.dropna()
print(new_df.to_string())
Em nossos exemplos de limpeza, usaremos um arquivo CSV chamado 'dirtydata.csv'.
Faça o download do dirtydata.csv . ou Abra dirtydata.csv
Nota: Por padrão, o dropna()
método retorna um novo DataFrame e não altera o original.
Se você deseja alterar o DataFrame original, use o
inplace = True
argumento:
Exemplo
Remova todas as linhas com valores NULL:
import pandas as pd
df = pd.read_csv('data.csv')
df.dropna(inplace = True)
print(df.to_string())
Nota: Agora, o dropna(inplace = True)
NÃO retornará um novo DataFrame, mas removerá todas as linhas contendo valores NULL do DataFrame original.
Substituir valores vazios
Outra maneira de lidar com células vazias é inserir um novo valor.
Dessa forma, você não precisa excluir linhas inteiras apenas por causa de algumas células vazias.
O fillna()
método nos permite substituir células vazias por um valor:
Exemplo
Substitua os valores NULL pelo número 130:
import pandas as pd
df = pd.read_csv('data.csv')
df.fillna(130, inplace = True)
Substituir apenas para colunas especificadas
O exemplo acima substitui todas as células vazias em todo o Data Frame.
Para substituir apenas valores vazios de uma coluna, especifique o nome da coluna para o DataFrame:
Exemplo
Substitua os valores NULL nas colunas "Calorias" pelo número 130:
import pandas as pd
df = pd.read_csv('data.csv')
df["Calories"].fillna(130, inplace = True)
Obter certificação!
$ 10 INSCRIÇÃO
Substituir usando média, mediana ou modo
Uma maneira comum de substituir células vazias é calcular o valor médio, mediano ou moda da coluna.
O Pandas usa os métodos mean()
median()
e mode()
para calcular os respectivos valores para uma coluna especificada:
Exemplo
Calcule a MÉDIA e substitua quaisquer valores vazios por ela:
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mean()
df["Calories"].fillna(x, inplace = True)
Média = o valor médio (a soma de todos os valores dividido pelo número de valores).
Exemplo
Calcule a MEDIAN e substitua quaisquer valores vazios por ela:
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].median()
df["Calories"].fillna(x, inplace = True)
Mediana = o valor no meio, depois de classificar todos os valores em ordem crescente.
Exemplo
Calcule o MODO e substitua quaisquer valores vazios por ele:
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mode()[0]
df["Calories"].fillna(x, inplace = True)
Moda = o valor que aparece com mais frequência.