Python

Como Trabalhar com Dados Categóricos no Pandas

Escrito por Erick Faria · 3 min. >
dados categóricos no Pandas

Neste post, vamos explorar como trabalhar com dados categóricos no Pandas, uma biblioteca Python amplamente utilizada para análise de dados. Dados categóricos são comuns em muitos conjuntos de dados e podem representar informações como categorias, rótulos ou grupos. Vamos criar um DataFrame de exemplo e abordar várias técnicas para manipular e analisar dados categóricos utilizando métodos do Pandas.

O que são Dados Categóricos?

Dados categóricos são variáveis que podem assumir um número limitado e geralmente fixo de valores distintos, representando categorias ou grupos. Esses dados podem ser nominais (sem ordem intrínseca) ou ordinais (com ordem intrínseca). Manipular dados categóricos corretamente é essencial para realizar análises precisas e informativas.

Trabalhando com Dados Categóricos no Pandas

Criando um DataFrame com Dados Categóricos

Vamos começar criando um DataFrame simples que contém dados categóricos:

# Dados Categóricos no Pandas
import pandas as pd

data = {
    'Nome': ['João', 'Ana', 'Carlos', 'Marta'],
    'Gênero': ['Masculino', 'Feminino', 'Masculino', 'Feminino'],
    'Cidade': ['São Paulo', 'Rio de Janeiro', 'Belo Horizonte', 'Salvador']
}

df = pd.DataFrame(data)

Convertendo Colunas para Tipo Categórico

Para melhorar a eficiência e facilitar a análise, podemos converter colunas de string para o tipo categórico:

# Dados Categóricos no Pandas
df['Gênero'] = df['Gênero'].astype('category')
df['Cidade'] = df['Cidade'].astype('category')

Visualizando Dados Categóricos

Podemos visualizar as categorias e suas frequências:

# Dados Categóricos no Pandas
df['Gênero'].value_counts()
df['Cidade'].value_counts()

Ordenando Dados Categóricos

Para dados categóricos ordinais, podemos definir uma ordem específica. Por exemplo, se tivermos uma coluna de avaliação:

# Dados Categóricos no Pandas
avaliacao = ['Baixo', 'Médio', 'Alto']
df['Avaliacao'] = pd.Categorical(['Médio', 'Alto', 'Baixo', 'Médio'], categories=avaliacao, ordered=True)
df['Avaliacao']

Filtrando Dados Categóricos

Podemos filtrar o DataFrame com base em categorias específicas:

# Dados Categóricos no Pandas
df[df['Gênero'] == 'Feminino']

Agrupando por Categorias

Agrupar dados categóricos pode fornecer informações valiosas. Por exemplo, para calcular a contagem de nomes por cidade:

# Dados Categóricos no Pandas
df.groupby('Cidade')['Nome'].count()

Transformações e Codificação

Podemos transformar dados categóricos em códigos numéricos:

# Dados Categóricos no Pandas
df['Gênero_Cod'] = df['Gênero'].cat.codes

Para a codificação One-Hot, que é útil para modelos de machine learning:

df_one_hot = pd.get_dummies(df, columns=['Cidade'])

Operações Avançadas com Dados Categóricos

Análise de Relações

Podemos analisar a relação entre diferentes dados categóricos. Por exemplo, usando uma tabela de contingência:

pd.crosstab(df['Gênero'], df['Cidade'])

Visualização de Dados Categóricos

Visualizar dados categóricos pode ajudar a identificar padrões e insights. Por exemplo, podemos usar bibliotecas como Matplotlib ou Seaborn para criar gráficos de barras:

import seaborn as sns
import matplotlib.pyplot as plt

sns.countplot(x='Gênero', data=df)
plt.show()

Trabalhando com Dados Categóricos em Séries Temporais

Se estivermos lidando com dados categóricos em séries temporais, podemos agrupar e resamplear os dados. Por exemplo, considerando que temos uma coluna de datas:

df['Data'] = pd.date_range(start='1/1/2023', periods=len(df), freq='D')
df.set_index('Data', inplace=True)

# Contar a frequência de categorias por mês
df.resample('M')['Gênero'].apply(lambda x: x.value_counts())

Para mais informações sobre como utilizar o Pandas para análise de dados, confira outros conteúdos no meu blog:

Considerações Finais

Espero que este guia tenha sido útil para aprender como trabalhar com dados categóricos no Pandas. A prática é essencial para dominar essas técnicas, então encorajo você a experimentar e aplicar esses métodos em seus próprios projetos de análise de dados.

Para aprimorar suas habilidades com o Pandas e se tornar mais eficiente na manipulação de dados, é importante também fortalecer sua compreensão em Python. Recomendamos o livro “Fundamentos em Python: Para Iniciantes em Programação e Computação”, disponível na Amazon, que oferece uma introdução abrangente ao Python.

Junte-se à nossa comunidade no Twitter e inscreva-se no nosso canal do YouTube para acessar mais tutoriais, dicas e recursos. Continue praticando e explorando novas maneiras de manipular dados com o Pandas, e fique atento para mais guias e tutoriais que compartilharemos.

Escrito por Erick Faria
Engenheiro de Dados com Ph.D. em Geografia e experiência em análise espacial e geoprocessamento. Expertise em processamento de grandes volumes de dados geoespaciais, imagens de satélite e dados de mercado, utilizando ferramentas como Spark, Databricks e Google Earth Engine. Experiência em projetos de mercado de carbono, modelos preditivos para investimentos agrícolas e liderança de projetos de dados em saúde pública. Habilidades em Python, R, SQL e diversas ferramentas de engenharia de dados. Profile