數據分析的基石:Pandas DataFrame!

當我們踏入 Python 數據分析的領域時,無可避免地會遇到一個核心工具——Pandas。而在 Pandas 函式庫中,最重要的結構莫過於 DataFrame。
您可以將 DataFrame 想像成一張超強大的 Excel 表格或資料庫中的資料表,但它完全存在於您的 Python 程式碼中,讓您能用程式語法對其進行各種高效率的操作。無論是數據清理、資料探索還是機器學習前的準備,DataFrame 都是您不可或缺的左右手。
這篇文章將帶您從零開始,全面了解 DataFrame 的核心概念,並教您如何親手創建一個屬於自己的 DataFrame。
什麼是 DataFrame?
DataFrame 是 Pandas 函式庫中用來表示和操作「表格型數據」的主要資料結構。它是一個二維 (2D) 的資料容器,由行 (rows) 和列 (columns) 組成。
它具備以下幾個關鍵特點:
- 二維結構 (2D Structure): 就像我們熟悉的表格,由代表「紀錄」的行 (index) 和代表「屬性」的列 (columns) 組成。
- 異質性 (Heterogeneous): 每一列可以儲存不同的資料型態,例如數字、文字、布林值 (True/False) 等,提供了極大的彈性。
- 帶有標籤的軸 (Labeled Axes): 您可以為每一行和每一列自訂標籤(索引和欄位名稱),方便您快速、直觀地存取特定資料。
為什麼 DataFrame 如此重要?
DataFrame 之所以成為數據科學家的首選工具,是因為它完美地契合了數據分析的整個工作流程:
- 數據清理與準備 (Data Cleaning and Preparation): 它是處理現實世界中不完美數據的利器,例如填補缺失值、處理格式錯誤、移除重複資料等。
- 探索性數據分析 (Exploratory Data Analysis): 您可以輕易地計算出數據的統計摘要(如平均值、中位數)、繪製圖表、找出數據中的潛在模式與關聯。
- 數據建模 (Data Modeling): 它是機器學習模型訓練前的標準資料格式,幾乎所有主流的機器學習函式庫(如 Scikit-learn)都完美支援 DataFrame。
從金融業的股價分析、零售業的顧客行為研究,到醫療領域的病歷數據追蹤,DataFrame 都是背後的核心引擎。
實戰教學:如何創建一個 DataFrame
了解概念後,讓我們親自動手創建一個 DataFrame。首先,請確保您已經安裝了 Pandas 函式庫,並在您的程式碼中引入它:
import pandas as pd
創建 DataFrame 最常見的方式有兩種:
方式一:使用字典 (Dictionary) 創建
這是最直觀的方式。您可以建立一個字典,其中字典的鍵 (key) 會成為 DataFrame 的欄位名稱 (columns),而字典的值 (value) 則是一個列表,代表該欄位下的所有資料。
【程式碼範例】
我們用三國人物來當作例子:
import pandas as pd
# 準備一個字典資料
data = {
"姓名": ["劉玄德", "關雲長", "張翼德"],
"身高": [172, 180, 178],
"武器": ["雙股劍", "青龍偃月刀", "丈八蛇矛"],
"坐騎": ["的盧", "赤兔馬", "烏雲踏雪"],
}
# 使用 pd.DataFrame() 函數將字典轉換為 DataFrame
df = pd.DataFrame(data)
# 印出結果
print(df)
【輸出結果】
姓名 身高 武器 坐騎
0 劉玄德 172 雙股劍 的盧
1 關雲長 180 青龍偃月刀 赤兔馬
2 張翼德 178 丈八蛇矛 烏雲踏雪
方式二:使用列表清單 (List of Lists) 創建
您也可以使用一個「列表中的列表」,其中每一個內層的列表代表 DataFrame 中的一整行 (row) 資料。
使用這種方式時,您需要手動透過 columns
參數來指定每一個欄位的名稱。
【程式碼範例】
import pandas as pd
# 準備一個列表清單,每個子列表代表一筆紀錄
data = [
["劉玄德", 172, "雙股劍", "的盧"],
["關雲長", 180, "青龍偃月刀", "赤兔馬"],
["張翼德", 178, "丈八蛇矛", "烏雲踏雪"],
]
# 創建 DataFrame,並手動指定欄位名稱
df = pd.DataFrame(data, columns=["姓名", "身高", "武器", "坐騎"])
# 印出結果
print(df)
【輸出結果】
姓名 身高 武器 坐騎
0 劉玄德 172 雙股劍 的盧
1 關雲長 180 青龍偃月刀 赤兔馬
2 張翼德 178 丈八蛇矛 烏雲踏雪
總結
恭喜您,您已經掌握了 Python 數據分析中最核心的物件——DataFrame 的基礎!
我們了解到 DataFrame 是一個強大的二維資料結構,它不僅結構清晰、彈性極高,更是整個數據分析流程的基礎。透過字典或列表,我們可以輕鬆地創建 DataFrame,為接下來的數據操作做好準備。
創建 DataFrame 只是第一步,接下來您將學習如何從中篩選、查詢、修改和分析資料,真正發揮出它的威力。