iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0
自我挑戰組

Pandas|資料前處理工具 系列 第 19

Day 19|用 Pandas 快速完成樞紐分析

  • 分享至 

  • xImage
  •  

  Excel 本身提供方便的樞紐分析,但你有想過用程式該如何撰寫嗎?今天就來分享一下 Pandas 中的樞紐分析:pivot_table( ) 一起透過交叉分析,快速解讀資料吧!

■ 案例

  1. 商品清單
    https://ithelp.ithome.com.tw/upload/images/20231004/20162238d5bBVQYP38.jpg
  2. 程式碼
import pandas as pd
data = {'商品':['牛奶','奇異果','起司','葡萄','和牛','蘋果'],
        '類別':['奶製品','水果','奶製品','水果','肉品','水果'],
        '年份':[2023,2020,2020,2022,2021,2023],
        '銷售金額':[945,1240,3485,2985,5200,1895]}
df = pd.DataFrame(data)

■ 實作|樞紐分析

Pandas 提供 pivot_table(data, index, values, aggfunc ) 進行樞紐分析的操作。

  • data:讀取需要的資料
  • 參數 index:比較基礎的欄位
  • 參數 values:需要計算的欄位,可以 list 方式輸入多個欄位
  • 參數 aggfunc:引入統計函數或自訂 function

【基礎舉例】:計算每個類別的總銷售金額

pivot = pd.pivot_table(df,index='類別',values='銷售金額',aggfunc='sum')
print(pivot)

輸出結果:
https://ithelp.ithome.com.tw/upload/images/20231004/20162238dKt33EIQlA.jpg

【進階舉例】:計算每個類別各年度的平均銷售金額

pivot = pd.pivot_table(df,index=['類別','年份'],values='銷售金額',aggfunc='mean')
print(pivot)

輸出結果:
https://ithelp.ithome.com.tw/upload/images/20231004/201622384NAKCLyETg.jpg

■ 結語

Pandas 的 pivot_table( ) 和 Excel 的樞紐分析相近,相信擅長 Excel 的邦友們也能快速上手!如果有任何不理解、錯誤或其他方法想分享的話,歡迎留言給我!喜歡的話,也歡迎按讚訂閱唷!

我是 Eva,一位正在努力跨進資料科學領域的女子!我們下一篇文章見!Bye Bye~
【本篇文章將同步更新於個人的 Medium,期待與您的相遇!】


上一篇
Day 18|資料的分組和聚合
下一篇
Day 20|在 VS Code 印出漂亮的 DataFrame
系列文
Pandas|資料前處理工具 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言