"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment construire des DataFrames Pandas à partir de dictionnaires avec des longueurs de tableau inégales ?

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

Publié le 2024-11-14
Parcourir:642

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 des 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)

Préservation des valeurs manquantes

Lorsque vous travaillez avec des tableaux de différentes longueurs, 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 à l'aide du 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)

Exemple de sortie

Le résultat suivant illustre un DataFrame créé à l'aide de l'approche décrite 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 les plus courts génèrent des valeurs NaN dans les cellules correspondantes, fournissant une représentation complète de vos données tout en conservant le format tabulaire souhaité.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3