A limpeza de dados, sem dúvida, leva muito tempo na ciência de dados, e a falta de dados é um dos desafios que você enfrentará com frequência. pandas é uma valiosa ferramenta de manipulação de dados Python que ajuda a corrigir valores ausentes em seu conjunto de dados, entre outras coisas.

Você pode corrigir dados ausentes descartando ou preenchendo-os com outros valores. Neste artigo, explicaremos e exploraremos as diferentes maneiras de preencher dados ausentes usando pandas.

1. Use o método fillna():

O preencher() A função itera em seu conjunto de dados e preenche todas as linhas nulas com um valor especificado. Ele aceita alguns argumentos opcionais – tome nota dos seguintes:

Valor: este é o valor que você deseja inserir nas linhas ausentes.

Método: permite que você preencha os valores ausentes para frente ou para trás. Ele aceita um 'bencher' ou 'preencher' parâmetro.

No lugar: aceita uma instrução condicional. Se True, modifica o DataFrame permanentemente. Caso contrário, não.

Antes de começarmos, certifique-se de instalar pandas em seu

instagram viewer
Ambiente virtual Python usando pip no seu terminal:

pip instalar pandas

Em seguida, dentro do script Python, criaremos um DataFrame de prática e inseriremos valores nulos (Nan) em algumas linhas:

importar pandas
df = pandas. DataFrame({'A' :[0, 3, Nenhum, 10, 3, Nenhum],
'B': [Nenhum, Nenhum, 7,13, 13,82, 7, 7],
'C': [Nenhum, "Pandas", Nenhum, "Pandas", "Python", "JavaScript"]})

Relacionado:Como importar dados do Excel em scripts Python usando Pandas

Agora, confira como você pode preencher esses valores ausentes usando os vários métodos disponíveis em pandas.

Este método envolve a substituição de valores omissos por médias computadas. O preenchimento de dados ausentes com um valor médio ou mediano é aplicável quando as colunas envolvidas têm tipos de dados inteiros ou flutuantes.

Você também pode preencher os dados ausentes com o valor da moda, que é o valor mais frequente. Isso também se aplica a inteiros ou floats. Mas é mais prático quando as colunas em questão contêm strings.

Veja como inserir a média e a mediana nas linhas ausentes no DataFrame que você criou anteriormente:

#Para inserir o valor médio de cada coluna em suas linhas ausentes:
df.fillna (df.mean().round (1), inplace=True)
#Para mediana:
df.fillna (df.median().round (1), inplace=True)
imprimir (df)

Inserir o valor modal como você fez para a média e a mediana acima não captura o DataFrame inteiro. Mas você pode inseri-lo em uma coluna específica, digamos, coluna C:

df['C'].fillna (df['C'].mode()[0], inplace=True)

Com isso dito, ainda é possível inserir o valor modal de cada coluna nas linhas ausentes de uma só vez usando um laço for:

para i em df.columns:
df[i].fillna (df[i].mode()[0], inplace=True)
imprimir (df)

Se você quiser ser específico da coluna ao inserir a média, mediana ou moda:

df.fillna({"A":df['A'].mean(), 
"B": df['B'].median(),
"C": df['C'].mode()[0]},
inplace=True)
imprimir (df)

Preencha linhas nulas com valores usando ffill

Isso envolve especificar o método de preenchimento dentro como o preencher() função. Este método preenche cada linha ausente com o valor da linha mais próxima acima dela.

Você também pode chamá-lo de preenchimento antecipado:

df.fillna (método='ffill', inplace=True)

Preencher linhas ausentes com valores usando bfill

Aqui, você substituirá o preencher método mencionado acima com encher. Ele preenche cada linha ausente no DataFrame com o valor mais próximo abaixo dele.

Este é chamado de preenchimento para trás:

df.fillna (método='bfill', inplace=True)

2. O método replace()

Você pode substituir o Nan valores em uma coluna específica com a média, mediana, moda ou qualquer outro valor.

Relacionado:Comandos pandas para manipular DataFrames

Veja como isso funciona substituindo as linhas nulas em uma coluna nomeada por sua média, mediana ou modo:

importar pandas
importar numpy #isto requer que você tenha instalado o numpy anteriormente
#Substitui os valores nulos pela média:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#Substitua a coluna A pela mediana:
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#Use o valor modal para a coluna C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
imprimir (df)

3. Preencher dados ausentes com interpolar()

O interpolar() A função usa valores existentes no DataFrame para estimar as linhas ausentes.

Execute o seguinte código para ver como isso funciona:

#Interpolar para trás na coluna:
df.interpolate (method ='linear', limit_direction ='backward', inplace=True)
#Interpolar em ordem direta na coluna:
df.interpolate (método ='linear', limit_direction ='forward', inplace=True)

Lide com as linhas ausentes com cuidado

Embora tenhamos considerado apenas preencher dados ausentes com valores padrão, como médias, moda e outros métodos, existem outras técnicas para corrigir valores ausentes. Os cientistas de dados, por exemplo, às vezes removem essas linhas ausentes, dependendo do caso.

Além disso, é essencial pensar criticamente sobre sua estratégia antes de usá-la. Caso contrário, você pode obter análises indesejáveis ​​ou resultados de previsão. Algumas estratégias iniciais de visualização de dados podem ajudar.

Como desenhar gráficos no Jupyter Notebook

Exiba seus dados com gráficos do Jupyter Notebook.

Leia a seguir

CompartilhadoTweetE-mail
Tópicos relacionados
  • Programação
  • Pitão
  • Programação
  • base de dados
Sobre o autor
Idowu Omisola (125 Artigos Publicados)

Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com a codificação e muda para o tabuleiro de xadrez quando está entediado, mas também adora fugir da rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.

Mais de Idowu Omisola

Assine a nossa newsletter

Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique aqui para assinar