Series 實務案例
以下提供 2 個以 Pandas `Series` 為核心的簡單實務範例。
---
## 範例一:統計每日銷售額
使用 `Series` 儲存一週每日銷售額,並計算總額、平均值與銷售最高日。
```python
import pandas as pd
# 建立每日銷售額 Series
sales = pd.Series(
[12000, 15000, 9800, 18000, 22000, 16000, 14000],
index=["週一", "週二", "週三", "週四", "週五", "週六", "週日"],
name="每日銷售額"
)
print(sales)
# 總銷售額
total_sales = sales.sum()
# 平均每日銷售額
average_sales = sales.mean()
# 銷售額最高的日期
best_day = sales.idxmax()
best_sales = sales.max()
print(f"一週總銷售額:{total_sales:,} 元")
print(f"平均每日銷售額:{average_sales:,.0f} 元")
print(f"銷售最高日:{best_day},金額為 {best_sales:,} 元")
```
可能輸出:
```text
一週總銷售額:116,800 元
平均每日銷售額:16,686 元
銷售最高日:週五,金額為 22,000 元
```
### 重點
- `sales.sum()`:計算總和
- `sales.mean()`:計算平均值
- `sales.idxmax()`:取得最大值對應的索引
- `sales.max()`:取得最大值
---
## 範例二:處理員工評分中的缺失值
使用 `Series` 儲存員工評分,找出缺失資料,並以平均分數補值。
```python
import pandas as pd
scores = pd.Series(
[88, 92, None, 75, 84, None, 95],
index=["小明", "小華", "小美", "小強", "小芳", "小傑", "小安"],
name="員工評分"
)
print("原始評分:")
print(scores)
# 找出缺失值
missing_scores = scores[scores.isna()]
print("\n缺失評分:")
print(missing_scores)
# 計算目前平均分數
average_score = scores.mean()
# 使用平均分數填補缺失值
scores_filled = scores.fillna(average_score)
print("\n補值後的評分:")
print(scores_filled)
# 找出評分高於 90 分的員工
high_scores = scores_filled[scores_filled >= 90]
print("\n評分達 90 分以上的員工:")
print(high_scores)
```
### 重點
- `isna()`:判斷哪些資料是缺失值
- `mean()`:計算平均值,預設會忽略缺失值
- `fillna()`:填補缺失值
- `scores[scores >= 90]`:依條件篩選資料
`Series` 適合用來處理「一維、有索引的資料」,例如每日銷售額、員工評分、產品庫存量或網站流量等。
相關學習地圖、教學課程
Python 資料工程