WeHelp
Pandas 是 Python 用來做資料分析和處理的熱門工具,也是資料分析師的必備技能。
  1. 簡介、安裝、快速開始
  2. Series 單維度資料
  3. Series 實務案例
  4. DataFrame 雙維度資料
  5. DataFrame 實務案例
  6. 過濾資料的範例說明
  7. 缺失填補的範例說明
  8. 排序資料的範例說明
  9. CSV、Excel 檔案存取
  10. JSON 格式檔案存取
Series 單維度資料
# Pandas Series 簡介 `Series` 是 Pandas 中的**單維度資料結構**,可以想成: - 一欄資料 - 每筆資料都有一個索引(`index`) - 類似 Python 的 `list`,但多了索引與資料型別管理功能 一個 Series 通常包含: ```text index value ------ ----- a 10 b 20 c 30 ``` 使用 Pandas 前要使用以下程式載入: ```python import pandas as pd ``` --- ## 一、建立 Series 的常見方式 ### 1. 使用 Python List 建立 ```python s = pd.Series([10, 20, 30]) print(s) ``` 輸出: ```text 0 10 1 20 2 30 dtype: int64 ``` 若沒有指定索引,Pandas 會自動建立從 `0` 開始的整數索引。 --- ### 2. 使用自訂索引建立 ```python s = pd.Series( [80, 90, 75], index=["國文", "英文", "數學"] ) print(s) ``` 輸出: ```text 國文 80 英文 90 數學 75 dtype: int64 ``` --- ### 3. 使用 Python 字典建立 字典的 key 會成為索引,value 會成為資料: ```python scores = { "國文": 80, "英文": 90, "數學": 75 } s = pd.Series(scores) print(s) ``` 這是建立具有意義索引的 Series 常見方式。 --- ### 4. 使用單一值搭配索引建立 ```python s = pd.Series(0, index=["A", "B", "C"]) print(s) ``` 輸出: ```text A 0 B 0 C 0 dtype: int64 ``` 每個索引位置都會填入相同的值。 --- ### 5. 指定資料型別 ```python s = pd.Series([1, 2, 3], dtype="float64") print(s) ``` 結果會以浮點數儲存: ```text 0 1.0 1 2.0 2 3.0 dtype: float64 ``` --- ## 二、Series 的索引操作 假設有以下 Series: ```python s = pd.Series( [80, 90, 75], index=["國文", "英文", "數學"] ) ``` ### 1. 使用索引標籤取值 ```python print(s["英文"]) ``` 輸出: ```text 90 ``` 也可以一次取出多個索引: ```python print(s[["國文", "數學"]]) ``` --- ### 2. 使用位置索引取值:`iloc` `iloc` 根據資料的位置取值,位置從 `0` 開始: ```python print(s.iloc[0]) # 第一筆 print(s.iloc[-1]) # 最後一筆 print(s.iloc[0:2]) # 位置 0 到 1 ``` 輸出概念如下: ```text 80 75 國文 80 英文 90 dtype: int64 ``` --- ### 3. 使用索引標籤取值:`loc` `loc` 根據索引標籤取值: ```python print(s.loc["國文"]) print(s.loc[["國文", "數學"]]) ``` 也可以進行標籤切片: ```python print(s.loc["國文":"英文"]) ``` 在 Pandas 中,標籤切片通常會包含結束位置,因此會包含「英文」。 --- ### 4. 使用布林條件篩選 ```python print(s[s >= 80]) ``` 輸出: ```text 國文 80 英文 90 dtype: int64 ``` 也可以搭配 `loc`: ```python print(s.loc[s >= 80]) ``` --- ### 5. 修改資料 ```python s["數學"] = 85 print(s) ``` 也可以透過位置修改: ```python s.iloc[0] = 88 ``` --- ### 6. 新增資料 ```python s["自然"] = 92 print(s) ``` --- ### 7. 刪除資料 ```python s = s.drop("英文") print(s) ``` `drop()` 預設會回傳新的 Series,不會直接修改原本物件。若要直接修改,可以使用: ```python s.drop("數學", inplace=True) ``` --- ## 三、常用屬性與方法 ```python s.index # 查看索引 s.values # 查看資料內容 s.dtype # 查看資料型別 s.size # 資料筆數 s.shape # Series 形狀 s.head() # 前幾筆資料 s.tail() # 後幾筆資料 s.mean() # 平均值 s.sum() # 總和 s.max() # 最大值 s.min() # 最小值 ``` 例如: ```python print(s.mean()) ``` --- ## 總結 Series 的核心特色包括: 1. 儲存單維度資料。 2. 每筆資料都有索引。 3. 可使用標籤索引或位置索引存取資料。 4. 支援條件篩選、統計運算與缺失值處理。 5. 是 Pandas `DataFrame` 中每一欄的基本組成單位。 常見索引方式可簡單整理如下: ```python s["索引名稱"] # 依標籤取值 s.loc["索引名稱"] # 明確依標籤取值 s.iloc[0] # 依位置取值 s[s > 10] # 條件篩選 ```
相關學習地圖、教學課程
Python 資料工程
從 0 開始,成為資料工程師的學習路徑。