使用Python進行PM2.5資料收集與分析

更新時間2023/08/03

本範例Google Colab連結

使用政府資料開放平台「https://data.gov.tw/en/datasets/34827」,所提供的json格式網址「https://data.epa.gov.tw/api/v2/aqx_p_02?api_key=e8dd42e6-9b8b-43f8-991e-b3dee723a52d&limit=1000&sort=datacreationdate%20desc&format=JSON」,以回傳最近一小時的全台PM2.5測站資料,以下為回傳結果範例。

[{'site': '大城', 'county': '彰化縣', 'pm25': '4', 'datacreationdate': '2023-08-03 22:00', 'itemunit': 'μg/m3'}, {'site': '富貴角', 'county': '新北市', 'pm25': '21', 'datacreationdate': '2023-08-03 22:00', 'itemunit': 'μg/m3'},...]

使用request.get擷取全台PM2.5的網頁資料,使用request的函式json進行json格式的解碼成Python的資料結構,每個元素都是字典結構,表示一個測站資料,使用函式transform進行格式轉換。

函式transform呼叫函式transform_data轉換每一列資料,從字典轉換成串列,函式transform_data呼叫函式transform_date切割日期字串轉換成datetime物件。

使用pandas將串列資料轉換成DataFrame,將列索引改成日期,才能依照日期時間分析,新增月份欄位就能夠依照月份分析。

使用create_df抓取PM2.5數值,建立DataFrame,使用DataFrame找出PM2.5大於30的測站。