← 課程總覽

📊 第8堂課:資料分析與視覺化

程式學習第八堂課:Python pandas DataFrame、CSV/Excel 讀寫、matplotlib 圖表、股價走勢分析專案
含語音講解(約 60 分鐘),附互動小測驗

📖 第一階段:pandas 基礎(約 25 分鐘)

1. DataFrame:程式中的 Excel

⏱ 15 分鐘
# pip install pandas
import pandas as pd

data = {"姓名": ["丁丁","小美","大雄"],
        "年齡": [25, 22, 28],
        "分數": [85, 92, 78]}
df = pd.DataFrame(data)
print(df)
print(df.describe())  # 統計摘要

print(df["分數"])              # 選取單欄
print(df[df["分數"] > 80])     # 篩選
print(df.sort_values("分數", ascending=False))  # 排序

2. 讀寫檔案

⏱ 10 分鐘
# CSV
df = pd.read_csv("data.csv", encoding="utf-8")
df.to_csv("output.csv", index=False, encoding="utf-8-sig")

# Excel
df = pd.read_excel("data.xlsx")
df.to_excel("output.xlsx", index=False)

# 資料處理
df["新欄位"] = df["分數"] * 1.1
df.dropna(inplace=True)  # 刪除空值

📖 第二階段:視覺化(約 20 分鐘)

3. matplotlib:畫出你的資料

⏱ 15 分鐘
# pip install matplotlib
import matplotlib.pyplot as plt

months = ["1月","2月","3月","4月","5月","6月"]
revenue = [12000, 15000, 11000, 18000, 22000, 25000]

plt.figure(figsize=(10, 5))
plt.plot(months, revenue, marker='o', linewidth=2)
plt.title("上半年營收趨勢")
plt.grid(True, alpha=0.3)
plt.savefig("revenue.png", dpi=150)

📖 第三階段:實戰(約 15 分鐘)

4. 專案:股價走勢分析

⏱ 10 分鐘
import pandas as pd; import numpy as np

dates = pd.date_range("2026-01-01", periods=100, freq="B")
np.random.seed(42)
price = 500
prices = []
for _ in range(100):
    price *= (1 + np.random.normal(0.0005, 0.015))
    prices.append(round(price, 2))

df = pd.DataFrame({"日期": dates, "收盤價": prices})
df["5日均線"] = df["收盤價"].rolling(5).mean()
df["20日均線"] = df["收盤價"].rolling(20).mean()

print(f"最高: {df['收盤價'].max()}, 最低: {df['收盤價'].min()}")
📊 短短幾行完成專業級分析:統計摘要、技術指標、視覺化——Python 資料科學的威力!

🧪 小測驗:你學會了嗎?

5 題選擇題,選完按「交卷」看成績
第 1 / 5 題
pandas DataFrame 最像哪種工具?
第 2 / 5 題
df[df["分數"] > 80] 做了什麼?
第 3 / 5 題
df["收盤價"].rolling(5).mean() 計算的是?
第 4 / 5 題
plt.savefig() 做什麼?
第 5 / 5 題
df.describe() 回傳什麼?
你的得分
0/5

🎯 第8堂課,你學會了什麼?

pandasCSV/Excelmatplotlib股價分析

資料科學家的日常工具你已經會用了——讀取、清洗、分析、視覺化,一條龍完成。

→ 前往第9堂課