樞紐分析表

使用 pandas 進行資料操作

Maggie Matsui

Senior Content Developer at DataCamp

由 groupby 到樞紐分析表

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
使用 pandas 進行資料操作

不同統計量

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
使用 pandas 進行資料操作

多種統計量

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
使用 pandas 進行資料操作

以兩個變數樞紐化

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
使用 pandas 進行資料操作

填補樞紐分析表中的遺漏值

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
使用 pandas 進行資料操作

用樞紐分析表彙總

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
使用 pandas 進行資料操作

一起來練習吧!

使用 pandas 進行資料操作

Preparing Video For Download...