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