Data Science

Convertendo Dicionários Python em DataFrames Pandas com Eficiência

Spread the love

Pandas é uma poderosa biblioteca Python para manipulação e análise de dados. Frequentemente, você precisará converter dados armazenados em dicionários Python em Pandas DataFrames para facilitar a análise. Este artigo explora vários métodos para realizar essa conversão de forma eficiente, focando na clareza e no tratamento de várias estruturas de dicionários.

Sumário

  1. Usando diretamente pandas.DataFrame()
  2. Utilizando pandas.DataFrame.from_dict()
  3. Tratando Estruturas de Dicionários Irregulares

1. Usando diretamente pandas.DataFrame()

A abordagem mais simples envolve passar seu dicionário diretamente para o construtor pandas.DataFrame(). No entanto, o resultado depende significativamente da estrutura do seu dicionário.

Cenário 1: Dicionários com listas/arrays como valores

Este é o caso mais direto. Cada chave se torna um nome de coluna, e sua lista ou array correspondente forma os dados da coluna.


import pandas as pd

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
print(df)

Saída:


   col1  col2  col3
0     1     4     7
1     2     5     8
2     3     6     9

Cenário 2: Dicionários de dicionários ou listas de dicionários

Para dicionários aninhados ou listas de dicionários, o comportamento muda. Pandas interpreta a estrutura de forma diferente, muitas vezes produzindo o resultado desejado se os dicionários internos forem consistentes.


data = [{'col1': 1, 'col2': 4, 'col3': 7}, {'col1': 2, 'col2': 5, 'col3': 8}, {'col1': 3, 'col2': 6, 'col3': 9}]
df = pd.DataFrame(data)
print(df)

Isso produz a mesma saída que o Cenário 1. No entanto, inconsistências (chaves ausentes) podem causar problemas. Garanta uma estrutura de dados consistente para resultados confiáveis.

2. Utilizando pandas.DataFrame.from_dict()

O método from_dict() fornece mais controle através do parâmetro orient, especificando como o dicionário deve ser interpretado:

  • 'columns': Similar ao Cenário 1 acima.
  • 'index': Chaves se tornam o índice, valores formam uma única coluna.
  • 'rows': Cada dicionário em uma lista representa uma linha.

data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame.from_dict(data, orient='columns')
print(df)

data2 = {'col1': 10, 'col2': 20, 'col3': 30}
df2 = pd.DataFrame.from_dict(data2, orient='index', columns=['Value'])
print(df2)

data3 = [{'col1': 1, 'col2': 4, 'col3': 7}, {'col1': 2, 'col2': 5, 'col3': 8}, {'col1': 3, 'col2': 6, 'col3': 9}]
df3 = pd.DataFrame.from_dict(data3, orient='rows')
print(df3)

3. Tratando Estruturas de Dicionários Irregulares

Para dicionários com chaves ou valores inconsistentes, o pré-processamento é crucial. Considere usar técnicas como:

  • Preenchendo valores ausentes: Use fillna() para substituir valores ausentes por um valor padrão (e.g., 0 ou NaN).
  • Limpeza de dados: Padronize os tipos de dados e trate inconsistências antes da conversão.
  • Transformação de dados: Reestruture seu dicionário para um formato mais regular adequado para a criação de DataFrame.

Ao considerar cuidadosamente a estrutura do seu dicionário e usar o método Pandas apropriado, você pode criar DataFrames de forma confiável e eficiente para análise.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *