Tabelle pivot

Manipolazione dei dati con pandas

Maggie Matsui

Senior Content Developer at DataCamp

Raggruppa in tabella pivot

dogs.groupby("color")["weight_kg"].mean()
color
Black    26
Brown    24
Gray     17
Tan       2
White    74
Name: weight_kg, dtype: int64
dogs.pivot_table(values="weight_kg", 
                 index="color")
       weight_kg
color           
Black       26.5
Brown       24.0
Gray        17.0
Tan          2.0
White       74.0
Manipolazione dei dati con pandas

Statistiche diverse

dogs.pivot_table(values="weight_kg", index="color", aggfunc="median")
       weight_kg
color           
Black       26.5
Brown       24.0
Gray        17.0
Tan          2.0
White       74.0
Manipolazione dei dati con pandas

Statistiche multiple

dogs.pivot_table(values="weight_kg", index="color", aggfunc=["mean", "median"])
           mean    median
      weight_kg weight_kg
color                    
Black      26.5      26.5
Brown      24.0      24.0
Gray       17.0      17.0
Tan         2.0       2.0
White      74.0      74.0
Manipolazione dei dati con pandas

Punta su due variabili

dogs.groupby(["color", "breed"])["weight_kg"].mean()
dogs.pivot_table(values="weight_kg", index="color", columns="breed")
breed  Chihuahua  Chow Chow  Labrador  Poodle  Schnauzer  St. Bernard
color                                                                
Black        NaN        NaN      29.0    24.0        NaN          NaN
Brown        NaN       24.0      24.0     NaN        NaN          NaN
Gray         NaN        NaN       NaN     NaN       17.0          NaN
Tan          2.0        NaN       NaN     NaN        NaN          NaN
White        NaN        NaN       NaN     NaN        NaN         74.0
Manipolazione dei dati con pandas

Come inserire i valori mancanti nelle tabelle pivot

dogs.pivot_table(values="weight_kg", index="color", columns="breed", fill_value=0)
breed  Chihuahua  Chow Chow  Labrador  Poodle  Schnauzer  St. Bernard
color                                                                
Black          0          0        29      24          0            0
Brown          0         24        24       0          0            0
Gray           0          0         0       0         17            0
Tan            2          0         0       0          0            0
White          0          0         0       0          0           74
Manipolazione dei dati con pandas

Riepilogo con tabelle pivot

dogs.pivot_table(values="weight_kg", index="color", columns="breed", 
                 fill_value=0, margins=True)
breed  Chihuahua  Chow Chow  Labrador  Poodle  Schnauzer  St. Bernard        All
color                                                                           
Black          0          0        29      24          0            0  26.500000
Brown          0         24        24       0          0            0  24.000000
Gray           0          0         0       0         17            0  17.000000
Tan            2          0         0       0          0            0   2.000000
White          0          0         0       0          0           74  74.000000
All            2         24        26      24         17           74  27.714286
Manipolazione dei dati con pandas

Passiamo alla pratica!

Manipolazione dei dati con pandas

Preparing Video For Download...