steveyehtw's picture
Publish standalone Lesson 21 starter for students continuing from Lesson 19
271e6aa
|
Raw History Blame Contribute Delete
2.47 kB

Lesson 21|比較與圖表

執行 main.py 就能看到人數排名、文字長條圖,以及兩個學年度的原始人數。CSV 和工具函式都已備好,只使用 Python 內建模組,不需要另外安裝套件或下載資料。

怎麼使用

  1. 先執行一次,確認讀入 242 列資料,並看到 114 學年度的國小人數排名。
  2. 在 CSV 裡找到其中一筆數字,核對學年度、縣市與欄位。
  3. 到 main() 下半部,找到 change = None,改成「後來的人數減去原來的人數」的算式,再執行。
  4. 修改檔案上方的 COUNTY、BEFORE_YEAR、AFTER_YEAR、FIELD 或 TOP_N,回答自己的問題。
  5. 把一張文字圖或一組比較結果記在 REPORT.md,先暫存進度;要交作品時再正式提交。

可以先完成排名圖或跨年比較其中一種,再由老師依程度安排延伸。

可以查詢的工具

rows = load_rows()
before = get_count(rows, "104", "新北市", "國小[人]")
after = get_count(rows, "114", "新北市", "國小[人]")
results = count_by_county(rows, "114", "國中[人]")
print_text_chart(results, 5)
  • load_rows():讀取專案裡的 CSV。
  • get_count():取得一個學年度、一個縣市、一個欄位的人數。
  • count_by_county():取得同一學年度的縣市人數排名。
  • print_text_chart():印出同尺度的文字長條圖。
  • parse_count():把 "1,234" 轉成 1234;空白、破折號和無效值會得到 None,不會誤當成 0。

欄位名稱要與 CSV 完全一致,例如 國小[人]、國中[人]。縣市使用原表寫法,例如 臺中市。

核對用例子

  • 新北市國小:104 學年度 201,970 人;114 學年度 194,670 人。
  • 臺中市國小:104 學年度 157,272 人;114 學年度 161,332 人。
  • 114 學年度國小前 3 名:新北市、臺中市、桃園市。

圖表要標明學年度、教育階段、單位與來源。只比較兩個學年度,不能直接寫成「每年都增加/減少」,也不能單靠人數判斷原因。

選做:計算百分比時,以原來的人數作分母;原來的人數是 0 時不能直接相除。

已經有自己的進度

Lesson 19–22 沿用同一個專案。切換 Lesson 不會自動匯入套版;已有程式與報告時,請先暫存或下載備份,再決定是否匯入起始套版。沿用原專案的同學,也可以只參考上述查詢函式與相減寫法。