"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como criar um DataFrame do Pandas a partir de um dicionário com comprimentos de array variados?

Como criar um DataFrame do Pandas a partir de um dicionário com comprimentos de array variados?

Publicado em 2024-11-09
Navegar:690

How to Create a Pandas DataFrame from a Dictionary with Varying Array Lengths?

Criando DataFrames a partir de dicionários com comprimentos de entrada irregulares

Em Python, é possível criar um DataFrame a partir de um dicionário onde cada entrada contém um array Numpy. No entanto, surgem desafios quando os comprimentos da matriz variam entre as entradas. Por padrão, o Pandas exige matrizes de comprimento uniforme, levando a erros como "ValueError: as matrizes devem ter todas o mesmo comprimento." Neste problema, podemos aproveitar a capacidade do Pandas de usar valores NaN (Not-a-Number) como espaços reservados para dados ausentes. Ao utilizar isso, podemos criar efetivamente um DataFrame com colunas de comprimentos diferentes.

Para conseguir isso, podemos converter cada entrada do dicionário em uma série Pandas, uma matriz unidimensional que pode lidar perfeitamente com valores ausentes. Envolvendo os itens do dicionário em uma expressão geradora e usando o construtor Series, podemos criar um dicionário de objetos Series.importar pandas como pd importar numpy como np # Dados de amostra com comprimentos de matriz desiguais dados = { 'A': np.random.randn(5), 'B': np.random.randn(8), 'C': np.random.randn(4) } # Converte itens de dicionário em séries series_dict = dict((k, pd.Series(v)) para k, v em data.items()) # Cria um DataFrame a partir do dicionário de séries df = pd.DataFrame(series_dict)

Resultado:

import pandas as pd
import numpy as np

# Sample data with uneven array lengths
data = {
    'A': np.random.randn(5),
    'B': np.random.randn(8),
    'C': np.random.randn(4)
}

# Convert dictionary items to Series
series_dict = dict((k, pd.Series(v)) for k, v in data.items())

# Create DataFrame from the dictionary of Series
df = pd.DataFrame(series_dict)

Como é evidente, o DataFrame contém valores ausentes (NaN) onde os comprimentos do array diferem, permitindo-nos criar um DataFrame com diferentes comprimentos de coluna a partir de um dicionário com comprimentos de array variados.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3