iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0
自我挑戰組

Python × 政府開放資料:30天數據探索與圖表呈現系列 第 10

Day 10 單一景點趨勢折線圖(國立故宮博物院)

  • 分享至 

  • xImage
  •  

今天我們開始進行單一景點的年度趨勢分析,選擇「國立故宮博物院」作為範例。這份資料只統計到民國年份,沒有月份,因此每筆資料代表整年度的遊客人次總量,而不是每月的分布。這種資料特性雖然讓折線圖看起來平滑,便於觀察長期趨勢,但也意味著我們無法分析季節性或月度高峰,只能觀察年度總體的變化。

年度資料適合用於觀察長期趨勢、景點整年度的受歡迎程度或特殊年份的異常波動。分析前,我們先將民國年轉換成西元年,這是資料前處理的重要步驟,接著將西元年設定為DataFrame的索引,以方便進行時間序列可視化,並確保折線圖的X軸呈現正確的年份順序。

由於每年只有一個數值,資料中的0幾乎代表景點全年未開放或未統計,插值在這裡無意義,因此我們直接保留原始數據。透過這種年度折線圖,即使資料解析度有限,也能掌握景點整體趨勢,對旅遊規劃與管理提供參考依據。

接下來,我們實作程式碼如下:

import pandas as pd
import matplotlib.pyplot as plt

# 設定中文字型
plt.rcParams["font.family"] = "Heiti TC"
plt.rcParams["axes.unicode_minus"] = False

# 讀取資料
df = pd.read_csv("IT_Taipei_tourism/IT_Taipei_tourism.csv")

# 民國年轉西元年
df["統計期"] = df["統計期"].str.replace("年", "").astype(int) + 1911
df["統計期"] = pd.to_datetime(df["統計期"], format="%Y")
df.set_index("統計期", inplace=True)

# 單一景點折線圖
plt.figure(figsize=(12, 6))
plt.plot(df.index, df["國立故宮博物院遊客人次"], marker="o")
plt.title("國立故宮博物院遊客人次")
plt.xlabel("年份")
plt.ylabel("參觀人次")
plt.show()

https://ithelp.ithome.com.tw/upload/images/20250907/201786240czB1qwzQF.pnghttps://ithelp.ithome.com.tw/upload/images/20250907/20178624rXM2Li0Ogo.png

在繪製折線圖時,我們可以清楚看到每一年參觀人次的變化趨勢。例如某些年份出現明顯上升,可能與大型展覽或假日活動增加有關;而某些年份出現下降,可能受到外部因素影響,例如景點臨時封閉或疫情限制。


上一篇
Day 9 讀取資料&資料清理(處理0值)
下一篇
Day 11 多景點年度比較(故宮博物院、美術館、藝術教育館)
系列文
Python × 政府開放資料:30天數據探索與圖表呈現16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言