"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 créer un DataFrame Pandas à partir d'un dictionnaire avec différentes longueurs de tableau ?

Comment créer un DataFrame Pandas à partir d'un dictionnaire avec différentes longueurs de tableau ?

Publié le 2024-11-09
Parcourir:917

How to Create a Pandas DataFrame from a Dictionary with Varying Array Lengths?

Création de DataFrames à partir de dictionnaires avec des longueurs d'entrée inégales

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 évident, le DataFrame contient des valeurs manquantes (NaN) où les longueurs de tableau diffèrent, nous permettant de créer un DataFrame avec différentes longueurs de colonnes à partir d'un dictionnaire avec différentes longueurs de tableau.

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