iT邦幫忙

2025 iThome 鐵人賽

DAY 26
0
Software Development

學會 Python 不可怕:我每天學一點的 30 天筆記系列 第 26

Day26 : Python 使用 pandas 處理表格資料

  • 分享至 

  • xImage
  •  

今天來分享 pandas — Python 資料分析最常用的套件,適合處理 CSV、Excel 等表格資料,快速做資料篩選、統計、清理。

為什麼學 pandas?

  • 可以快速處理大量資料
  • 提供篩選、排序、統計、分組等強大功能
  • 適合做資料分析、報表或視覺化前處理

1. 建立 DataFrame
https://ithelp.ithome.com.tw/upload/images/20251010/20178872365ZXsjNrB.png
結果會輸出
https://ithelp.ithome.com.tw/upload/images/20251010/20178872gW8ep4JDvX.png

  • import pandas as pd : 這行是匯入 pandas 套件,並且把它取名為 pd,之後要使用 pandas 的功能時,只要寫 pd.功能就可以了
  • pandas 是 Python 中最常用的資料分析套件,可以處理表格資料
  • pd.DataFrame(data) : 把剛剛的字典轉換成 DataFrame,也就是 pandas 的「表格資料物件」
  • df 是一個可以用來篩選、排序、統計、寫入 CSV 的表格
  • DataFrame 長得像 Excel 表格,每一欄是 key,每一列是資料列

2. 篩選資料
https://ithelp.ithome.com.tw/upload/images/20251010/20178872ldl3VaYlWM.png
結果會輸出
https://ithelp.ithome.com.tw/upload/images/20251010/2017887295tt5oro2f.png

  • df["分數"] : 表示取出 DataFrame df 的「分數」這一欄
  • df["分數"] > 90 : 是在對「分數欄位」做條件判斷,會得到一個布林 Series(True/False 對應每一列是否符合條件)
  • df[df["分數"] > 90] : 這個寫法叫布林索引 (Boolean Indexing),pandas 會只保留對應 True 的列,把不符合的列剔除

3. 統計分析
https://ithelp.ithome.com.tw/upload/images/20251010/20178872HYj6yExjjd.png
結果會輸出
https://ithelp.ithome.com.tw/upload/images/20251010/20178872iNCLwS784E.png

  • .mean() : 是 pandas 提供的平均值方法,會計算該欄位所有數字的平均值

4. 新增欄位
https://ithelp.ithome.com.tw/upload/images/20251010/20178872AH3MiKvrJb.png
結果會輸出
https://ithelp.ithome.com.tw/upload/images/20251010/20178872Za2O7yRmul.png

  • df["分數"] >= 60 : 這是一個條件判斷,會對每一列的分數進行比較,結果會是一個布林 Series(True/False),表示每個學生是否及格
  • df["及格"] = ... : 把布林 Series 加入到 DataFrame,作為新的欄位「及格」,這樣 DataFrame 會多一欄,記錄每個學生是否及格

5. 排序與選取資料
https://ithelp.ithome.com.tw/upload/images/20251010/20178872jPKyhbRytw.png
結果會輸出
https://ithelp.ithome.com.tw/upload/images/20251010/20178872lFtai64Kd0.png

  • df.sort_values("分數", ascending=False) : 這個方法是依某個欄位排序 DataFrame,"分數" → 依「分數」欄位進行排序
  • ascending=False → 由大到小排序(如果要小到大,改成 True)
  • 結果會回傳一個新的 DataFrame,原本的 df 不會改變
  • df[["姓名", "分數"]] : 是選取 DataFrame 中的特定欄位,使用雙中括號 [[...]] → 告訴 pandas 要保留這兩個欄位

上一篇
Day25 : 標準模組應用 – os、sys、time
系列文
學會 Python 不可怕:我每天學一點的 30 天筆記26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言