Comment construire des DataFrames Pandas à partir de dictionnaires avec des longueurs de tableau inégales ?

Mary-Kate Olsen
Libérer: 2024-11-09 11:10:02
original
622 Les gens l'ont consulté

How to Construct Pandas DataFrames from Dictionaries with Uneven Array Lengths?

Construire des DataFrames à partir de dictionnaires avec des longueurs de tableau inégales

La gestion de dictionnaires avec des tableaux de longueurs inégales dans Pandas nécessite une approche sur mesure. Lorsque vous tentez de créer un DataFrame avec chaque colonne représentant un tableau dans le dictionnaire, vous pouvez rencontrer l'erreur ValueError : "les tableaux doivent tous avoir la même longueur."

Exploiter les objets de série

Pour contourner cela problème, nous exploitons les objets Pandas' Series qui peuvent contenir des tableaux de différentes longueurs. En convertissant chaque valeur du dictionnaire en série, nous pouvons stocker efficacement les tableaux quelle que soit leur longueur. L'extrait de code suivant illustre cette approche :

import pandas as pd
import numpy as np

# Sample data generated via a reproducible seed
np.random.seed(2023)
data = {k: np.random.randn(v) for k, v in zip("ABCDEF", [10, 12, 15, 17, 20, 23])}

# Convert dictionary values to Series objects
series_dict = {k: pd.Series(v) for k, v in data.items()}

# Create DataFrame using these Series objects
df = pd.DataFrame(series_dict)
Copier après la connexion

Préservation des valeurs manquantes

Lorsque vous travaillez avec des tableaux de longueurs variables, il est courant de rencontrer des valeurs manquantes où des tableaux plus courts ne peuvent pas remplir les cellules restantes. Par défaut, Pandas comble ces lacunes avec des valeurs NaN (Not a Number). Ce comportement préserve les données d'origine tout en fournissant une structure cohérente pour l'analyse.

Configuration de la gestion des valeurs manquantes

Si vous le souhaitez, vous pouvez personnaliser la gestion des valeurs manquantes en utilisant le paramètre manquant_values ​​dans le DataFrame( ) constructeur. Par exemple, pour remplacer les valeurs manquantes par des zéros au lieu de NaN, vous devez spécifier Missing_values=0 comme indiqué ci-dessous :

df = pd.DataFrame(series_dict, missing_values=0)
Copier après la connexion

Exemple de sortie

La sortie suivante illustre un DataFrame créé à l'aide de l'approche décrit ci-dessus :

print(df)
Copier après la connexion
      A         B         C         D         E         F
0  0.711674 -1.076522 -1.502178 -1.519748  0.340619  0.051132
1 -0.324485 -0.325682 -1.379593  2.097329 -1.253501 -0.238061
2 -1.001871 -1.035498 -0.204455  0.892562  0.370788 -0.208009
3  0.236251 -0.426320  0.642125  1.596488  0.455254  0.401304
4 -0.102160 -1.029361 -0.181176 -0.638762 -2.283720  0.183169
...       ...       ...       ...       ...       ...       ...
18       NaN       NaN       NaN       NaN       NaN       NaN
19       NaN       NaN       NaN       NaN       NaN       NaN
20       NaN       NaN       NaN       NaN       NaN       NaN
21       NaN       NaN       NaN       NaN       NaN       NaN
22       NaN       NaN       NaN       NaN       NaN       NaN
23 rows × 6 columns
Copier après la connexion

Comme vous pouvez le constater, les tableaux plus courts donnent des valeurs NaN dans les cellules correspondantes, fournissant une représentation complète de vos données tout en conservant le format tabulaire souhaité.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal