Comment créer un DataFrame Pandas 3D (avec exemple)



Vous pouvez utiliser le module xarray pour créer rapidement un DataFrame pandas 3D.

Ce tutoriel explique comment créer le DataFrame pandas 3D suivant à l’aide des fonctions du module xarray :

              product_A  product_B  product_C
year quarter                                 
2021 Q1        1.624345   0.319039         50
     Q2       -0.611756   0.319039         50
     Q3       -0.528172   0.319039         50
     Q4       -1.072969   0.319039         50
2022 Q1        0.865408  -0.249370         50
     Q2       -2.301539  -0.249370         50
     Q3        1.744812  -0.249370         50
     Q4       -0.761207  -0.249370         50

Exemple : Créer un DataFrame Pandas 3D

Le code suivant montre comment créer un ensemble de données 3D à l’aide des fonctions de xarray et NumPy :

import numpy as np
import xarray as xr

#make this example reproducible
np.random.seed(1)

#create 3D dataset
xarray_3d = xr.Dataset(
    {"product_A": (("year", "quarter"), np.random.randn(2, 4))},
    coords={
        "year": [2021, 2022],
        "quarter": ["Q1", "Q2", "Q3", "Q4"],
        "product_B": ("year", np.random.randn(2)),
        "product_C": 50,
    },
)

#view 3D dataset
print(xarray_3d)

Dimensions:    (year: 2, quarter: 4)
Coordinates:
  * year       (year) int32 2021 2022
  * quarter    (quarter) <U2 'Q1' 'Q2' 'Q3' 'Q4'
    product_B  (year) float64 0.319 -0.2494
    product_C  int32 50
Data variables:
    product_A  (year, quarter) float64 1.624 -0.6118 -0.5282 ... 1.745 -0.7612

Remarque : La fonction NumPy randn() renvoie des exemples de valeurs de la distribution normale standard .

Nous pouvons ensuite utiliser la fonction to_dataframe() pour convertir cet ensemble de données en un DataFrame pandas :

#convert xarray to DataFrame
df_3d = xarray_3d.to_dataframe()

#view 3D DataFrame
print(df_3d)

              product_A  product_B  product_C
year quarter                                 
2021 Q1        1.624345   0.319039         50
     Q2       -0.611756   0.319039         50
     Q3       -0.528172   0.319039         50
     Q4       -1.072969   0.319039         50
2022 Q1        0.865408  -0.249370         50
     Q2       -2.301539  -0.249370         50
     Q3        1.744812  -0.249370         50
     Q4       -0.761207  -0.249370         50

Le résultat est un DataFrame pandas 3D qui contient des informations sur le nombre de ventes réalisées de trois produits différents au cours de deux années différentes et de quatre trimestres différents par an.

Nous pouvons utiliser la fonction type() pour confirmer que cet objet est bien un DataFrame pandas :

#display type of df_3d
type(df_3d)

pandas.core.frame.DataFrame

L’objet est bien un DataFrame pandas.

Ressources additionnelles

Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans les pandas :

Pandas : Comment trouver des valeurs uniques dans une colonne
Pandas : comment trouver la différence entre deux lignes
Pandas : Comment compter les valeurs manquantes dans DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *