Where do Pandas: Aproveitando o Poder do Pandas para Gerenciar Valores Nulos
Updated on
Trabalhar com dados está no centro do que fazemos. No entanto, os dados brutos podem ser desordenados, incompletos e cheios de valores nulos que precisam ser tratados. Sem o tratamento adequado, os valores nulos podem causar problemas ao realizar tarefas de análise de dados ou de aprendizado de máquina. Felizmente, com a biblioteca Pandas em Python, podemos gerenciar rapidamente e efetivamente valores nulos em nossos dados.
Neste artigo, exploraremos a função where () do Pandas e várias outras técnicas para lidar com valores nulos no Pandas. Abordaremos como identificar e lidar com dados ausentes em um DataFrame do Pandas, estratégias para trabalhar com valores nulos, melhores práticas para gerenciar valores ausentes e muito mais.
Quer criar rapidamente visualizações de dados em Python?
PyGWalker é um projeto Python de código aberto que pode ajudar a acelerar o fluxo de trabalho de análise e visualização de dados diretamente em ambientes baseados em Jupyter Notebook.
PyGWalker (opens in a new tab) transforma seu dataframe Pandas (ou dataframe Polars) em uma IU * visual * onde você pode arrastar e soltar variáveis para criar gráficos com facilidade. Basta usar o seguinte código:
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Você pode executar o PyGWalker agora mesmo com estes notebooks online:
E não se esqueça de nos dar um ⭐️ no GitHub!
Identificando e Lidando com Dados Ausentes em um DataFrame do Pandas
Uma das tarefas mais comuns que precisamos executar ao trabalhar com dados é verificar a existência de dados ausentes. O Pandas fornece várias maneiras de identificar valores nulos, incluindo isnull () e notnull (), que retornam valores booleanos para indicar se alguns dos valores no DataFrame são nulos ou não. Podemos usar essas funções para descobrir rapidamente se existem valores ausentes em nossos dados.
Por exemplo, digamos que temos um DataFrame com várias colunas, algumas das quais contêm valores ausentes.
import pandas as pd
import numpy as np
dados = {'nome': ['Alice', 'Bob', 'Charlie'],
'idade': [25, np.nan, 30],
'gênero': ['F', 'M', 'M'],
'renda': [50000, 60000, np.nan]}
df = pd.DataFrame(dados)
Para verificar valores ausentes no nosso DataFrame, podemos aplicar a função isnull() a todo o DataFrame.
print(df.isnull())
Isso retornará um DataFrame com a mesma forma do DataFrame original, onde True representa um valor nulo e False representa um valor não nulo.
Para contar o número de valores ausentes em cada coluna do nosso DataFrame, podemos usar o método sum() após aplicar a função isnull().
print(df.isnull().sum())
Isso retornará um objeto Series onde o índice são os nomes das colunas e os valores são o número de valores ausentes em cada coluna.
Também podemos excluir linhas ou colunas com valores nulos usando o método dropna(). Este método remove qualquer linha ou coluna que contém pelo menos um valor nulo.
df.dropna()
Alternativamente, podemos substituir valores nulos por um valor específico usando a função fillna().
df.fillna(0)
Esses são apenas alguns exemplos dos métodos disponíveis no Pandas para identificar e lidar com valores nulos. Para uma lista abrangente, consulte a documentação do Pandas.
Trabalhando com valores nulos no Pandas
Valores nulos podem ser um desafio ao realizar tarefas de análise de dados ou aprendizado de máquina. No entanto, existem muitas estratégias que podemos usar para trabalhar com valores nulos de forma eficaz. Aqui estão alguns deles:
Interpolação
Uma técnica comum para lidar com dados ausentes é a interpolação. A interpolação é uma técnica estatística que estima valores ausentes com base em valores observados em linhas próximas. No Pandas, podemos usar o método interpolate() para realizar a interpolação em nosso DataFrame.
df.interpolate()
Preenchimento de valores ausentes
Outra estratégia para trabalhar com valores nulos é preencher os valores ausentes com uma constante ou um valor calculado a partir dos dados restantes. Podemos usar o método fillna() para preencher valores nulos com um valor específico.
df.fillna(0)
Alternativamente, podemos preencher valores nulos com a média, moda ou mediana dos dados restantes.
df.fillna(df.mean())
Eliminando valores ausentes
A eliminação de valores ausentes é uma estratégia comum para lidar com valores nulos. Podemos usar o método dropna() para remover todas as linhas que contêm um ou mais valores nulos.
df.dropna()
Também podemos remover colunas que contenham valores nulos.
df.dropna(axis=1)
Imputação
A imputação é uma técnica para estimar valores faltantes com base em dados observados. No Pandas, podemos usar o pacote scikit-learn para realizar a imputação.
from sklearn.impute import SimpleImputer
imp = SimpleImputer(missing_values=np.nan, strategy='mean')
df[['age', 'income']] = imp.fit_transform(df[['age', 'income']])
Esses são apenas alguns exemplos das muitas estratégias disponíveis para trabalhar com valores nulos no Pandas. A estratégia apropriada depende do problema específico e da natureza dos dados faltantes.
Melhores práticas para gerenciar valores ausentes no Pandas
lidar com dados ausentes pode ser um desafio, mas existem algumas melhores práticas que podem ajudar. Aqui estão algumas dicas para gerenciar valores nulos no Pandas:
- Sempre verifique dados ausentes antes de realizar qualquer análise.
- Use estatísticas descritivas para entender a distribuição dos dados e identificar valores discrepantes.
- Considere diferentes estratégias para lidar com dados ausentes, como interpolação, imputação ou remoção de valores ausentes.
- Esteja ciente das potenciais consequências de diferentes estratégias e como elas podem afetar a análise.
- Use ferramentas de visualização de dados para obter insights sobre a natureza e distribuição dos dados.
- Documente os valores ausentes e como eles foram manipulados na análise.
Seguindo essas melhores práticas, podemos gerenciar melhor valores nulos em nossos dados e realizar efetivamente análise de dados ou tarefas de aprendizado de máquina.
Conclusão
Valores nulos podem ser um desafio ao trabalhar com dados, mas com o Pandas, temos acesso a um conjunto poderoso de ferramentas para identificar e manipular dados ausentes. Neste artigo, exploramos a função where() do Pandas e várias outras técnicas e estratégias para trabalhar com valores nulos no Pandas. Aplicando essas técnicas e seguindo as melhores práticas, podemos gerenciar melhor valores nulos em nossos dados e executar efetivamente análise de dados e tarefas de aprendizado de máquina.