Come creare un dataframe 3d pandas (con esempio)
È possibile utilizzare il modulo xarray per creare rapidamente un DataFrame panda 3D.
Questo tutorial spiega come creare il seguente DataFrame 3D dei panda utilizzando le funzioni del modulo 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
Esempio: creare un DataFrame 3D Pandas
Il codice seguente mostra come creare un set di dati 3D utilizzando le funzioni xarray e NumPy :
import numpy as np
import xarray as xr
#make this example reproducible
n.p. random . seeds (1)
#create 3D dataset
xarray_3d = xr. Dataset (
{ " product_A ": (("year", "quarter"), np.random.randn (2,4))},
coordinates={
" 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
Nota : la funzione NumPy randn() restituisce valori di esempio dalla distribuzione normale standard .
Possiamo quindi utilizzare la funzione to_dataframe() per convertire questo set di dati in un DataFrame panda:
#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
Il risultato è un DataFrame di panda 3D che contiene informazioni sul numero di vendite effettuate di tre diversi prodotti in due anni diversi e quattro trimestri diversi all’anno.
Possiamo usare la funzione type() per confermare che questo oggetto è effettivamente un DataFrame panda:
#display type of df_3d
type (df_3d)
pandas.core.frame.DataFrame
L’oggetto è infatti un DataFrame di Panda.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre funzioni comuni nei panda:
Panda: come trovare valori univoci in una colonna
Panda: come trovare la differenza tra due linee
Panda: come contare i valori mancanti in DataFrame