Pandas é uma poderosa biblioteca Python para manipulação e análise de dados. Seu núcleo é o DataFrame, uma estrutura de dados rotulada bidimensional e versátil. Frequentemente, você precisará criar DataFrames a partir de dados existentes, e listas fornecem um ponto de partida comum e conveniente. Este artigo explora vários métodos eficientes para construir Pandas DataFrames a partir de várias estruturas de lista.
Sumário
- Método 1: A partir de uma Lista Simples
- Método 2: A partir de uma Lista de Listas
- Método 3: A partir de uma Lista de Dicionários
- Método 4: Aproveitando Arrays NumPy
- Conclusão
- FAQ
Método 1: A partir de uma Lista Simples
A abordagem mais simples usa uma única lista para criar um DataFrame. Isso é ideal para dados que representam uma única coluna.
import pandas as pd
data = [10, 20, 30, 40, 50]
df = pd.DataFrame(data, columns=['Valores'])
print(df)
Isso cria um DataFrame com uma coluna, ‘Valores’, preenchida pelos elementos da lista data
.
Método 2: A partir de uma Lista de Listas
Para DataFrames com várias colunas, uma lista de listas é mais versátil. Cada lista interna representa uma linha.
import pandas as pd
data = [[1, 'Alice', 25], [2, 'Bob', 30], [3, 'Charlie', 28]]
df = pd.DataFrame(data, columns=['ID', 'Nome', 'Idade'])
print(df)
A lista externa contém linhas, e columns
especifica os nomes das colunas. Assegure-se que cada lista interna tenha o mesmo comprimento que o número de colunas.
Método 3: A partir de uma Lista de Dicionários
Este método oferece maior legibilidade e flexibilidade, especialmente com colunas nomeadas. Cada dicionário representa uma linha, com chaves como nomes de colunas.
import pandas as pd
data = [{'ID': 1, 'Nome': 'Alice', 'Idade': 25},
{'ID': 2, 'Nome': 'Bob', 'Idade': 30},
{'ID': 3, 'Nome': 'Charlie', 'Idade': 28}]
df = pd.DataFrame(data)
print(df)
Os nomes das colunas são inferidos automaticamente das chaves do dicionário. Isso geralmente é preferido para clareza, particularmente com conjuntos de dados maiores.
Método 4: Aproveitando Arrays NumPy
Para dados numéricos, os arrays NumPy oferecem vantagens de desempenho.
import pandas as pd
import numpy as np
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
df = pd.DataFrame(data, columns=['A', 'B', 'C'])
print(df)
O armazenamento eficiente do NumPy melhora a velocidade de criação do DataFrame, especialmente com dados numéricos extensos.
Conclusão
Criar Pandas DataFrames a partir de listas fornece um fluxo de trabalho flexível e eficiente. A melhor abordagem depende da sua estrutura de dados e necessidades de desempenho. Listas de dicionários geralmente fornecem o melhor equilíbrio entre legibilidade e facilidade de uso, enquanto arrays NumPy são ideais para otimização de desempenho com grandes conjuntos de dados numéricos.
FAQ
- P: E se as listas internas tiverem comprimentos diferentes? R: Pandas irá gerar um
ValueError
. Mantenha comprimentos consistentes em todas as listas internas. - P: Posso criar um DataFrame com uma única linha? R: Sim, use qualquer método com uma única lista, uma lista com uma lista interna ou uma lista com um dicionário.
- P: Como o Pandas lida com tipos de dados mistos? R: Pandas infere o tipo de dados mais adequado para cada coluna.
- P: Como represento dados ausentes? R: Use
np.nan
(Not a Number) para representar valores ausentes.