Maison > Article > développement back-end > Comment construire des DataFrames Pandas à 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."
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)
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.
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)
La sortie suivante illustre un DataFrame créé à l'aide de l'approche décrit ci-dessus :
print(df)
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
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!