Maison >développement back-end >Tutoriel Python >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 ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-10 14:20:031058parcourir

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 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!

Déclaration:
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