Python : DataFrame介紹

Python數據分析的基石:一篇文帶你掌握 Pandas DataFrame!

數據分析的基石: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 只是第一步,接下來您將學習如何從中篩選、查詢、修改和分析資料,真正發揮出它的威力。

較新的 較舊