Como Usar o Pandas e o Matplotlib para Realizar a EDA em Python

A Análise Exploratória de Dados (EDA) é uma etapa essencial em qualquer projeto de ciência de dados, pois nos permite entender os dados, detectar padrões e identificar potenciais problemas. Neste artigo, exploraremos como usar duas bibliotecas populares do Python, Pandas e Matplotlib, para realizar a EDA. Pandas é uma biblioteca poderosa para manipulação e análise de dados, enquanto Matplotlib é uma biblioteca versátil para visualização de dados. Abordaremos os conceitos básicos de carregamento de dados em um DataFrame do pandas, exploração dos dados usando funções do pandas, limpeza dos dados e, finalmente, visualização dos dados usando Matplotlib. Ao final deste artigo, você terá uma compreensão sólida de como usar Pandas e Matplotlib para realizar a EDA em Python.

Importando Bibliotecas e Dados

Importando Bibliotecas

Para usar as bibliotecas pandas e Matplotlib em seu código Python, você precisa importá-las primeiro. Isso pode ser feito usando a declaração import seguida pelo nome da biblioteca.

Python

 

python import pandas as pd
import matplotlib.pyplot as plt

Neste exemplo, estamos importando pandas e atribuindo-lhe o apelido ‘pd’, que é uma convenção comum na comunidade de ciência de dados. Também estamos importando matplotlib.pyplot e atribuindo-lhe o apelido ‘plt’. Ao importar essas bibliotecas, podemos usar suas funções e métodos para trabalhar com dados e criar visualizações.

Carregando Dados

Uma vez importados os bibliotecas necessárias, você pode carregar os dados em um DataFrame do pandas. O pandas oferece vários métodos para carregar dados de vários formatos de arquivo, incluindo CSV, Excel, JSON, e muito mais. O método mais comum é read_csv, que lê dados de um arquivo CSV e retorna um DataFrame.

Python

 

python# Load data into a pandas DataFrame
data = pd.read_csv('path/to/data.csv')

Neste exemplo, estamos carregando dados de um arquivo CSV localizado em ‘caminho/para/dados.csv’ e armazenando-os em uma variável chamada ‘dados’. Você pode substituir ‘caminho/para/dados.csv’ pelo caminho real do seu arquivo de dados.

Ao carregar dados em um DataFrame do pandas, podemos facilmente manipular e analisar os dados usando funções e métodos do pandas. O DataFrame é uma estrutura de dados em forma de tabela bidimensional que nos permite trabalhar com dados de maneira estruturada e organizada. Ele fornece funções para selecionar, filtrar, agrupar, agregar e visualizar dados.

Exploração de Dados

head() e tail()

As funções head() e tail() são usadas para visualizar as primeiras e últimas linhas dos dados, respectivamente. Por padrão, essas funções exibem as cinco primeiras/últimas linhas dos dados, mas você pode especificar um número diferente de linhas como argumento.

Python

 

python# View the first 5 rows of the data
print(data.head()) 
# Visualizar as últimas 10 linhas dos dados
print(data.tail(10))

info()

A função info() fornece informações sobre o DataFrame, incluindo o número de linhas e colunas, os tipos de dados de cada coluna e o número de valores não nulos. Essa função é útil para identificar valores ausentes e determinar os tipos de dados apropriados para cada coluna.

Python

 

python# Get information about the data
print(data.info())

describe()

A função describe() fornece estatísticas resumidas para colunas numéricas no DataFrame, incluindo contagem, média, desvio padrão, mínimo, máximo e quartis. Essa função é útil para obter uma visão geral rápida da distribuição dos dados.

Python

 

python# Get summary statistics for the data
print(data.describe())

value_counts()

A função value_counts() é usada para contar o número de ocorrências de cada valor único em uma coluna. Essa função é útil para identificar a frequência de valores específicos nos dados.

Python

 

python# Count the number of unique values in a column
print(data['column_name'].value_counts())

Esses são apenas alguns exemplos de funções do pandas que você pode usar para explorar dados. Existem muitas outras funções que você pode usar dependendo das suas necessidades específicas de exploração de dados, como isnull() para verificar valores ausentes, groupby() para agrupar dados por uma coluna específica, corr() para calcular coeficientes de correlação entre colunas e muito mais.

Limpeza de Dados 

isnull()

A função isnull() é usada para verificar valores ausentes ou nulos no DataFrame. Ela retorna um DataFrame com a mesma forma do original, com valores True onde os dados estão faltando e valores False onde os dados estão presentes. Você pode usar a função sum() para contar o número de valores ausentes em cada coluna.

Python

 

python# Check for missing values
print(data.isnull().sum())

dropna()

A função dropna() é usada para remover linhas ou colunas com valores ausentes ou nulos. Por padrão, esta função remove qualquer linha que contenha pelo menos um valor ausente. Você pode usar o argumento subset para especificar quais colunas verificar valores ausentes e o argumento how para especificar se deseja remover linhas com qualquer valor ausente ou apenas linhas onde todos os valores são ausentes.

Python

 

python# Drop rows with missing values
data = data.dropna()

drop_duplicates()

A função drop_duplicates() é usada para remover linhas duplicadas do DataFrame. Por padrão, esta função remove todas as linhas que têm os mesmos valores em todas as colunas. Você pode usar o argumento subset para especificar quais colunas verificar duplicatas.

Python

 

python# Drop duplicate rows
data = data.drop_duplicates()

replace()

A função replace() é usada para substituir valores em uma coluna por novos valores. Você pode especificar o valor antigo a ser substituído e o novo valor para substituí-lo. Esta função é útil para lidar com problemas de qualidade de dados, como erros de digitação ou formatação inconsistente.

Python

 

python# Replace values in a column
data['column_name'] = data['column_name'].replace('old_value', 'new_value')

Esses são apenas alguns exemplos de funções do pandas que você pode usar para limpar dados. Existem muitas outras funções que você pode usar dependendo das suas necessidades específicas de limpeza de dados, como fillna() para preencher valores ausentes com um valor específico ou método, astype() para converter tipos de dados de colunas, clip() para recortar outliers e muito mais.

O pré-processamento de dados desempenha um papel crucial na preparação de dados para análise, e automatizar o processo pode economizar tempo e garantir a qualidade dos dados. Além das funções do panda mencionadas anteriormente, técnicas de automação podem ser aplicadas para agilizar os fluxos de trabalho de pré-processamento de dados. Por exemplo, você pode criar funções ou pipelines reutilizáveis para lidar com valores ausentes, remover duplicatas e substituir valores em múltiplos conjuntos de dados. Além disso, você pode aproveitar técnicas avançadas como imputação para preencher valores ausentes de forma inteligente ou expressões regulares para identificar e corrigir formatações inconsistentes. Ao combinar o poder das funções do pandas com estratégias de automação, você pode limpar e padronizar dados de forma eficiente, melhorando a confiabilidade e a precisão da sua análise exploratória de dados (EDA).

Visualização de Dados 

A visualização de dados é um componente crítico da ciência de dados, pois nos permite obter insights de dados rapidamente e facilmente. O Matplotlib é uma biblioteca Python popular para criar uma ampla variedade de visualizações de dados, incluindo gráficos de dispersão, gráficos de linha, gráficos de barras, histogramas, boxplots e muito mais.

Aqui estão alguns exemplos de como criar esses tipos de visualizações usando o Matplotlib:

Gráfico de Dispersão

A scatter plot is used to visualize the relationship between two continuous variables. You can create a scatter plot in Matplotlib using the scatter() function.

Python

 

python# Create a scatter plot
plt.scatter(data['column1'], data['column2']) plt.xlabel('Column 1') plt.ylabel('Column 2') plt.show()

Neste exemplo, estamos criando um gráfico de dispersão com column1 no eixo x e column2 no eixo y. Também estamos adicionando rótulos aos eixos x e y usando as funções xlabel() e ylabel().

Histograma

A histogram is used to visualize the distribution of a single continuous variable. You can create a histogram in Matplotlib using the hist() function.

Python

 

python# Create a histogram
plt.hist(data['column'], bins=10) plt.xlabel('Column') plt.ylabel('Frequency') plt.show()

Neste exemplo, estamos criando um histograma da variável column com 10 bins. Também estamos adicionando rótulos aos eixos x e y usando as funções xlabel() e ylabel().

Box Plot

A box plot is used to visualize the distribution of a single continuous variable and to identify outliers. You can create a box plot in Matplotlib using the boxplot() function.

Python

 

python# Create a box plot
plt.boxplot(data['column']) plt.ylabel('Column') plt.show()

Neste exemplo, estamos criando um box plot da variável column. Também estamos adicionando um rótulo ao eixo y usando a função ylabel().

Estes são apenas alguns exemplos do que você pode fazer com o Matplotlib para visualização de dados. Existem muitas outras funções e técnicas que você pode usar, dependendo das específicas necessidades do seu projeto.

Conclusão

A análise exploratória de dados (EDA) é um passo crucial em qualquer projeto de ciência de dados, e o Python fornece ferramentas poderosas para realizar EDA de forma eficaz. Neste artigo, aprendemos a usar duas bibliotecas populares do Python, Pandas e Matplotlib, para carregar, explorar, limpar e visualizar dados. O Pandas fornece uma maneira flexível e eficiente de manipular e analisar dados, enquanto o Matplotlib oferece uma ampla gama de opções para criar visualizações. Ao aproveitar essas duas bibliotecas, podemos obter insights de dados rapidamente e facilmente. Com as habilidades e técnicas aprendidas neste artigo, você pode começar a realizar EDA em seus próprios conjuntos de dados e descobrir insights valiosos que podem impulsionar tomada de decisão baseada em dados.

Source:
https://dzone.com/articles/how-to-use-pandas-and-matplotlib-to-perform-explor