第三週資料科學-Pandas讀取資料
使用Pandas,我們可以輕鬆從網路上取得資料,包括csv、excel檔案以及網站表格。透過Kaggle等網站下載資料集,開始資料分析之旅。另外,也可透過讀取Open data網站的API取得即時資料。記得觀察資料格式,處理資料的同時也要注意資料量是否符合預期。挑戰自己,嘗試解決問題,享受數據分析的樂趣!
Pandas 取得資料
我們會用簡單的方式在網路上取得資料,分別為讀取檔案(csv, excel),讀取網站的表格(html),讀取Open data網站的API(json檔)
我們先試從Kaggle下載一個資料集:
https://www.kaggle.com/datasets/salvatorerastelli/spotify-and-youtube/data
Kaggle提供很多很好的練習資料集,並可以從中探索高手都如何進行資料分析,沒事可以多看看。不過,今天先著重在如何讀檔就好!
讀取csv檔案
可以利用pd.read_csv()
讀取csv檔案,pd.read_excel()
讀取excel檔案
1 |
|
讀取網站的表格
以本期的發票為例試試看,請進入網站:https://invoice.etax.nat.gov.tw/
使用pd.read_html()
可以讀取網站裡的所有表格。
適用於靜態表格的讀取,複雜的比較建議用beautifulsoup 或 selenium 進行爬取。
1 |
|
可以用index來選擇要的表格做成Dataframe
1 |
|
使用open data的網站讀取API
這會是我們課程中最常使用到的方式,課堂中盡量不花時間在資料擷取,因為擷取完還要做清理,分析…時間會花太長,同學可以自行上網練習。
我們以桃園的open data為例,使用即時自行車資料
https://data.tycg.gov.tw/opendata/datalist/datasetMeta?oid=5ca2bfc7-9ace-4719-88ae-4034b9a5a55c
通常為json檔案,我們以pd.read_json()
讀取。
1 |
|
透過Dataframe的格式更好解析資料結構,會發現桃園總共有162個站點,每個站點存在records這個欄位中,因此我們呼叫對應的欄位取出要的資料
1 |
|
以上,簡單介紹這幾種可以讀取資料的方式。
這邊有個使用GPT的練習,仔細觀察你會發現上面出現的資料只有100筆而非meta data描述的162筆,為什麼?怎麼解決?
我們這次就到這邊吧,回家用GPT試看看,大家掰掰。