Maison >développement back-end >Tutoriel Python >Comment créer des DataFrames à partir de dictionnaires avec des longueurs d'entrée variables ?

Comment créer des DataFrames à partir de dictionnaires avec des longueurs d'entrée variables ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-09 03:35:02980parcourir

How to Create DataFrames from Dictionaries with Varying Entry Lengths?

Création de DataFrames à partir de dictionnaires avec des longueurs d'entrée variées

Lorsque vous travaillez avec des dictionnaires où les entrées contiennent des tableaux de longueurs variables, il devient difficile de construire un DataFrame où chaque colonne correspond à une entrée unique. Tenter de convertir directement un tel dictionnaire en DataFrame entraîne une "ValueError : les tableaux doivent tous avoir la même longueur."

Solution

Pour surmonter ce problème, un L'approche consiste à convertir le tableau de chaque entrée en une série, puis à construire un DataFrame à partir du dict résultant. Dans Python 3.x, cela peut être réalisé en utilisant une compréhension de liste :

d = dict( A = np.array([1,2]), B = np.array([1,2,3,4]) )

pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.items() ]))

# Output:
   A  B
0  1  1
1  2  2
2  NaN  3
3  NaN  4

Dans Python 2.x, le code reste similaire, mais l'appel d.items() est remplacé par d.iteritems( ):

pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in d.iteritems() ]))

Cette technique convertit efficacement chaque entrée du dictionnaire en une série, qui peut ensuite être ajoutée au DataFrame avec sa clé correspondante comme nom de colonne. Le DataFrame résultant aura des colonnes dont les longueurs correspondent à celles des tableaux d'origine. Les valeurs manquantes sont représentées sous forme de NaN pour garantir une structure de colonne cohérente.

En utilisant cette approche, il est possible de créer des DataFrames à partir de dictionnaires contenant des entrées avec des longueurs de tableau variables, permettant une analyse et une manipulation plus approfondies des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn