Maison >développement back-end >Tutoriel Python >Comment créer un DataFrame Pandas à partir d'un dictionnaire avec différentes longueurs de tableau ?
En Python, il est possible de créer un DataFrame à partir d'un dictionnaire où chaque entrée contient un tableau Numpy. Cependant, des défis surviennent lorsque la longueur des tableaux varie selon les entrées. Par défaut, Pandas nécessite des tableaux de longueur uniforme, ce qui entraîne des erreurs telles que "ValueError : les tableaux doivent tous avoir la même longueur."
Surmonter l'écart de longueur
Pour résoudre Pour résoudre ce problème, nous pouvons exploiter la capacité de Pandas à utiliser les valeurs NaN (Not-a-Number) comme espaces réservés pour les données manquantes. En utilisant cela, nous pouvons créer efficacement un DataFrame avec des colonnes de différentes longueurs.
Pour y parvenir, nous pouvons convertir chaque entrée du dictionnaire en une série Pandas, un tableau unidimensionnel capable de gérer de manière transparente les valeurs manquantes. En encapsulant les éléments du dictionnaire dans une expression génératrice et en utilisant le constructeur Series, nous pouvons créer un dictionnaire d'objets Series.
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)
Résultat :
In [1]: df Out[1]: A B C 0 1.162543 1.681243 0.191287 1 0.459621 -0.141198 -0.109864 2 -0.866704 -0.128677 -0.511496 3 1.222436 -0.371449 -0.705894 4 -0.980584 1.255133 NaN 5 NaN -0.351051 NaN 6 NaN 0.443017 NaN 7 NaN -1.053693 NaN
Comme il est évident, le DataFrame contient des valeurs manquantes (NaN) où les longueurs des tableaux diffèrent, ce qui nous permet de créer un DataFrame avec différentes longueurs de colonnes à partir d'un dictionnaire avec un tableau variable. longueurs.
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!