Python Pandas - 資料結構介紹



Python Pandas 資料結構

Pandas 中的資料結構旨在高效地處理資料。它們允許以最佳化記憶體使用和計算效能的方式組織、儲存和修改資料。Python Pandas 庫提供兩種主要的資料結構用於處理和分析資料:

  • Series (序列)
  • DataFrame (資料框)

在一般的程式設計中,“資料結構”是指收集、組織和儲存資料以實現高效訪問和修改的方法。資料結構是資料型別的集合,它們提供以記憶體使用率為標準組織專案(值)的最佳方式。

Pandas 建立在 NumPy 之上,並與許多其他第三方庫很好地整合在科學計算環境中。本教程將詳細介紹這些資料結構。

Pandas 資料結構的維度和描述

資料結構 維度 描述
Series (序列) 1 一維帶標籤的同質陣列,大小不可變。
資料框 (Data Frames) 2 二維帶標籤的、大小可變的表格結構,列的型別可能不同。

使用兩個或多個維度的陣列可能很複雜且耗時,因為使用者在編寫函式時需要仔細考慮資料的方向。但是,Pandas 透過減少所需的心智負擔簡化了此過程。例如,當處理表格資料 (DataFrame) 時,更容易從行和列的角度思考,而不是從軸 0 和軸 1 的角度思考。

Pandas 資料結構的可變性

所有 Pandas 資料結構都是值可變的,這意味著它們的內容可以更改。但是,它們的大小可變性各不相同:

  • Series (序列) - 大小不可變。
  • DataFrame (資料框) - 大小可變。

Series (序列)

Series 是一維帶標籤的陣列,可以儲存任何資料型別。它可以儲存整數、字串、浮點數等。Series 中的每個值都與一個標籤(索引)相關聯,該標籤可以是整數或字串。

姓名 史蒂夫
年齡 35
性別
評分 3.5

示例

考慮以下 Series,它是一組不同資料型別的集合

import pandas as pd

data = ['Steve', '35', 'Male', '3.5']
series = pd.Series(data, index=['Name', 'Age', 'Gender', 'Rating'])
print(series)

執行上述程式後,您將獲得以下輸出

Name      Steve
Age          35
Gender     Male
Rating      3.5
dtype: object

關鍵點

以下是與 Pandas Series 相關的關鍵點。

  • 同質資料
  • 大小不可變
  • 資料值可變

DataFrame (資料框)

DataFrame 是一個二維帶標籤的資料結構,其列可以包含不同型別的資料。它類似於資料庫中的表或電子表格。考慮以下資料,它表示銷售團隊的績效評分:

姓名 年齡 性別 評分
史蒂夫 32 3.45
莉亞 28 4.6
45 3.9
凱蒂 38 2.78

示例

上述表格資料可以用 DataFrame 表示如下:

import pandas as pd

# Data represented as a dictionary
data = {
    'Name': ['Steve', 'Lia', 'Vin', 'Katie'],
    'Age': [32, 28, 45, 38],
    'Gender': ['Male', 'Female', 'Male', 'Female'],
    'Rating': [3.45, 4.6, 3.9, 2.78]
}

# Creating the DataFrame
df = pd.DataFrame(data)

# Display the DataFrame
print(df)

輸出

執行上述程式碼後,您將獲得以下輸出:

    Name  Age  Gender  Rating
0  Steve   32    Male    3.45
1    Lia   28  Female    4.60
2    Vin   45    Male    3.90
3  Katie   38  Female    2.78

關鍵點

以下是與 Pandas DataFrame 相關的關鍵點:

  • 異質資料
  • 大小可變
  • 資料可變

使用多個數據結構的目的

Pandas 資料結構是低維資料的靈活容器。例如,DataFrame 是 Series 的容器,Series 是標量的容器。這種靈活性允許高效的資料操作和儲存。

構建和處理多維陣列可能會很枯燥,並且在編寫函式時需要仔細考慮資料的方向。Pandas 透過提供直觀的資料結構來減少這種心智負擔。

示例

下面的例子表示 DataFrame 中的一個 Series。

import pandas as pd

# Data represented as a dictionary
data = {
    'Name': ['Steve', 'Lia', 'Vin', 'Katie'],
    'Age': [32, 28, 45, 38],
    'Gender': ['Male', 'Female', 'Male', 'Female'],
    'Rating': [3.45, 4.6, 3.9, 2.78]
}

# Creating the DataFrame
df = pd.DataFrame(data)

# Display a Series within a DataFrame
print(df['Name'])

輸出

執行上述程式碼後,您將獲得以下輸出:

0    Steve
1      Lia
2      Vin
3    Katie
Name: Name, dtype: object
廣告