《從零開始的資料科學筆記》Day#3: Pandas入門

更新 發佈閱讀 8 分鐘
vocus|新世代的創作平台

🐼什麼是Pandas?

Pandas 是 Python 最重要的資料處理與分析工具,名稱來自 "Panel Data"(跨時間的結構化資料),由 Wes McKinney 開發。 它提供兩個核心資料結構: Series:一維的資料列(類似 list) DataFrame:二維表格資料結構(像 Excel + SQL 的合體)

Pandas能做什麼?

只要你是針對"結構化資料"做處理,那麼只要你想得到的Pandas都能做!!!

vocus|新世代的創作平台

為什麼資料科學家一定要學Pandas?

1. 🚀 效率高:數據前處理的瑞士刀

在模型訓練前,資料通常是:

  • 有缺失值
  • 欄位混亂
  • 格式不一致
  • 包含噪音

這些都可以透過 Pandas 快速清理、轉換、篩選。 🎯丟入模型訓練前的資料一定要先處理過喔!!!

2. 💡 可結合其他套件

Pandas 是資料科學的中樞神經,可與以下套件無縫整合:

  • 📊 Matplotlib / Seaborn(視覺化)
  • 🤖 Scikit-learn(機器學習)
  • 🔢 NumPy(數值處理)
  • 🧪 Statsmodels / SciPy(統計分析) 💡 跟NumPy一樣,許多應用套件也是基於Pandas的資料處理架構來開發的,可以適用於很多常用套件。

3. 👩‍💻 寫法類似 SQL + Excel

如果你熟悉 Excel 表格或 SQL,學 Pandas 將會得心應手:

df[df["Age"] > 30]         # 相當於 SQL 的 WHERE Age > 30
df.groupby("Region").mean() # 相當於 GROUP BY + AVG

4. Pandas在資料科學中的位置

[ 原始數據 ] → Pandas → [ 清理 / 結構化 ] → NumPy / Sklearn / XGBoost / 可視化 💡 由此可看出Pandas在整個資料處理流程中是不可或缺的一部分!!!

小節: 為什麼要學Pandas?

  1. ✔ 是所有資料工作的基礎
  2. ✔ 比 Excel / SQL 更靈活強大
  3. ✔ 實務中無可替代:90% 的時間都用來處理資料
  4. ✔ 與 Python 生態系無縫整合(ML、統計、視覺化)

初識Pandas: Data Cleaning & Filtering

1. 資料結構: pd.Series

Series 是 一維的標籤化陣列,像是加了index的 list 或 numpy.array。

import pandas as pd

s = pd.Series([10, 20, 30], index=['a', 'b', 'c']) # 建立pd.Series
print(s)

print(s['a']) # 取出 a 索引值
print(s.mean()) # 計算平均
print(s + 5) # 每個元素加

#輸出
a 10
b 20
c 30
dtype: int64

10
20.0
[15, 25, 35]

2. 資料結構: pd.DataFrame

DataFrame 是二維表格資料結構,就像是 Excel 表格或 SQL 資料表。

# 建立方法一
data = {
'Name': ['Amy', 'Ben', 'Cara'],
'Age': [22, 24, 23],
'Score': [85, 90, 88]
}
df = pd.DataFrame(data)

# 建立方法二(用Series)
s1 = pd.Series(['Amy', 'Ben', 'Cara'])
s2 = pd.Series([22, 24, 23])
s3 = pd.Series([85, 90, 88])
df = pd.DataFrame({'Name':s1 ,'Age':s2, 'Score':s3})
print(df)

# 輸出
Name Age Score
0 Amy 22 85
1 Ben 24 90
2 Cara 23 88

說明

建立DataFrame的方法其實有滿多種,但是都大同小異,只要使用自己方便順手的即可!!!

3. 找出缺失值: df.isnull()/df.isna() 與 df.notnull()

df = pd.DataFrame({
"Name": ["Tom", "Jerry", None],
"Age": [25, None, 30]
})

print(df.isnull())

# 輸出
Name Age
0 False False
1 False True
2 True False

說明

在資料處理過程中,找出缺失值跟空值是非常重要的事!!!

💡實際上,空值(None)和缺失值(NaN)是不同東西,在Python中一般以"None"代表空值,而"NaN"代表缺失值。在專案中使用時要特別注意兩者的使用時機與差異!!! 其差異與比較我會在另一篇文章中說明。

4. 處理缺失值: df.dropna() 與 df.fillna()

df.dropna()     # 刪除有缺失值的列
df.fillna(0) # 將 NaN 填入指定數值

說明

  • df.dropna(axis=0, how='any', inplace=False)
    • axis: 0為按照row刪;1為按照column刪
    • how: 'any'代表有一個na就刪;'all'代表全都na才刪
    • inplace: 是否直接替換原df中的值
  • df.fillna('要補上的值')

5. 條件篩選

df = pd.DataFrame({
"Name": ["Tom", "Jerry", None],
"Age": [25, None, 30]
})

df[df['Age'] > 25]

# 輸出
Name Age
2 None 30.0

說明

  • df['Age']: 透過欄位名稱來取值
  • df['Age'] > 25: 是一個布林值的條件
  • df[condition]: 把條件放入df中即可進行篩選值

6. 重設索引

df = df.reset_index(drop=True)

說明

  • df經過不同的操作之後,每一筆資料的index已經不再是從0開始的連續排序,尤其經過df.dropna()之後中間都會是一洞一洞的。
  • 透過df.reset_index()可將處理好的df重新編index,使其名符其實的成為一個新df。
  • 例如:
    • dropna()後的index: [1, 3, 5, 6, 8]
    • reset_index()後的index: [0, 1, 2, 3, 4]
留言
avatar-img
Ethan的AI學習筆記
8會員
33內容數
我是一個不務正業的資料科學家,從零開始學習的路途上跌跌撞撞,跌過許多坑,也撞過許多牆... 當有人迷失方向時,希望這些筆記可以成為你的指南針。
Ethan的AI學習筆記的其他內容
2025/06/07
再見NumPy 在學習完上一篇NumPy入門教學後,可以接著熟悉一下NumPy進階,這部分包含了許多資料前處理上常用的技巧和語法。 其實有更多的語法我沒有列出來,因為不只你們記不住,我也記不得! 這邊整理的都是比較常用的部分,其他函數等你們有用到的時候自然會知道~
Thumbnail
2025/06/07
再見NumPy 在學習完上一篇NumPy入門教學後,可以接著熟悉一下NumPy進階,這部分包含了許多資料前處理上常用的技巧和語法。 其實有更多的語法我沒有列出來,因為不只你們記不住,我也記不得! 這邊整理的都是比較常用的部分,其他函數等你們有用到的時候自然會知道~
Thumbnail
2025/06/07
NumPy(Numerical Python)是 Python 資料科學的根基,一個為處理數值資料與高效陣列運算而生的工具。在這套件的世界裡,矩陣(array)不再只是數學符號,而是資料操作的核心主角,從最基本的數列建立、重塑,到進階的數學與邏輯運算,它都是你駕馭資料的第一把鑰匙。
Thumbnail
2025/06/07
NumPy(Numerical Python)是 Python 資料科學的根基,一個為處理數值資料與高效陣列運算而生的工具。在這套件的世界裡,矩陣(array)不再只是數學符號,而是資料操作的核心主角,從最基本的數列建立、重塑,到進階的數學與邏輯運算,它都是你駕馭資料的第一把鑰匙。
Thumbnail
2025/06/07
✨ 每一位資料人,都是從零開始的 當初剛開始學習資料科學時,我也曾面對過無數的自我懷疑: Python 還不熟,怎麼寫程式解決實際問題? 學了NumPy,學了Pandas之後呢? 我學的真的夠多,可以應用在工作上了嗎? 這個錯誤訊息又是什麼意思? 為什麼結果都不是我想像的那樣? .
Thumbnail
2025/06/07
✨ 每一位資料人,都是從零開始的 當初剛開始學習資料科學時,我也曾面對過無數的自我懷疑: Python 還不熟,怎麼寫程式解決實際問題? 學了NumPy,學了Pandas之後呢? 我學的真的夠多,可以應用在工作上了嗎? 這個錯誤訊息又是什麼意思? 為什麼結果都不是我想像的那樣? .
Thumbnail
看更多
你可能也想看
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
Thumbnail
本文介紹瞭如何使用 Python pandas 進行資料分析,包括如何使用 corr() 函數針對數字類型的欄位進行分析,以及如何刪除不需要的欄位和取得想要的小數位數。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
pandas是用於資料操縱和分析的Python軟體庫。它建造在 NumPy 基礎上,並為操縱數值表格和時間序列,提供了資料結構和運算操作。 Pandas 的主要資料結構包含 Series 和 DataFrame 物件,由於 Pandas 本身基 Numpy 所以在使用大量資料運算時效能表現也優於原
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
Thumbnail
本文介紹如何用Python繪製散布圖與迴歸線
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表為基礎,融合不同的資料欄位。 以product作為index,融合quarter_1,quarter_2,quarter_3,quarter_4 這四個欄位,並且重新命名為quarter,並且將數值欄位名稱重
Thumbnail
題目敘述 題目會給定一個pandas DataFrame作為輸入,要求我們以原有的資料表為基礎,融合不同的資料欄位。 以product作為index,融合quarter_1,quarter_2,quarter_3,quarter_4 這四個欄位,並且重新命名為quarter,並且將數值欄位名稱重
Thumbnail
如何用Python將DataFrame中的資料擷取維新的DataFrame?
Thumbnail
如何用Python將DataFrame中的資料擷取維新的DataFrame?
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News