10分鐘學會pandas的資料處理操作
在閱讀文章之前,先和各位讀者分享本文章的程式碼位置連結:
本文開始
相信大多數人都常常聽到「數據分析」這個名詞。
今天,我想用短短10分鐘的時間,教大家如何透過Python程式搭配別人已經開發好的的模組,進行快速的「數據分析」任務。
我們將透過pandas這個模組來進行數據分析。
如果讀者先前曾經安裝過Anaconda的話,本文會用到的程式和套件應該都在安裝時已經一起安裝好了。
並請讀者將CSV檔案下載到電腦的桌面(Desktop),以利本文的後續的進行
如果沒有安裝Anaconda的話,請跟著我透過以下步驟一起安裝所需套件
本文以Windows 10 64位元作業系統為例
首先,請先開啟Command Line介面(請點擊左下角的Windows圖示,輸入CMD,此時會跳出命令提示字元,點擊即可)
接著,我們進入到了一個黑色的畫面,別擔心,請將以下指令複製貼上,並按下Enter送出指令
# 更新pip套件
pip install — upgrade pip# 安裝pandas模組
pip install pandas# 安裝jupyter
pip install jupyter
請耐心等候安裝,它會將其他依賴的套件也跟著一起安裝
在等待安裝的過程中,和大家聊聊什麼是依賴的套件
我們電腦的程式不可能全部都自己獨立開發,在網路上有許多的人將程式寫好之後,公開在網路上,讓大家共同使用。這時候,我們就可以站在巨人的肩膀上,善用前人開發的程式,完成我們的需求,這時候我們稱這個前人開發的程式為「套件」
而依賴的套件,則是我們的程式為了完成特定的功能,引用前人開發的程式,作為我們程式的內部功能。
看到這裡,聰明的讀者應該就能了解依賴套件的意思了吧~
說到這裡,套件已經都安裝成功了吧~
開始來進行數據分析吧~
1.首先,啟動Jupyter Notebook
2.移動到Desktop桌面
3.根據以下圖片,點擊New
3.選擇Python3
我們的第一行程式:
import pandas as pd
df = pd.read_csv(“200811–201811.csv”) #第一行程式碼將pandas載入,保存成pd這個變數
#第二行程式碼讀入我為大家準備好的CSV空氣數據品質資料,並存成df這個變數
按下Shift+Enter後,程式就會執行,並且跳到下一個窗格
嘗嘗pandas的其他功能~
#常用指令
df.head(10) #顯示出前10筆資料,預設值為5筆資料
len(df) #顯示資料總筆數
df.describe() #顯示統計數字(最大、最小、平均……等)
df.corr() #顯示相關係數#找極大值或極小值
df.nlargest(3,"PM25") #查詢PM25欄位中數值前3大的
df.nsmallest(3,"PM25") #查詢PM25欄位中數值前3小的#刪除SO2和CO這兩個欄位
df = df.drop(labels=["SO2","CO"],axis="columns")
df.head()#由大到小排列PM2.5數值,並顯示前20高的資料
dfSort=df.sort_values(by="PM25",ascending=False)
dfSort.head(20)#顯示Columns(列)為WindSpeed及TEMP的數據
df[["WindSpeed","TEMP"]]
補充:
Rows為行(由上到下)=0
Columns為列(左到右)=1
#顯示O3<50的數值
df[df.O3<15]#列出PM2.5值大於30且溫度大於30的數值
df[(df.PM25 < 30)&(df.TEMP>30)] #繪製散佈圖
df.plot(kind = "scatter", x = "TEMP", y = "PM25", title = "溫度與PM2.5之關係")
奇怪,顯示出來的圖片竟然出現亂碼,該怎麼解決呢?
請回到Notebook最頂端
將以下三行程式貼到Notebook中,接著再回到剛才的程式格,再Shift+Enter一次,亂碼問題就順利解決了
from pylab import mpl
mpl.rcParams["font.sans-serif"] = ["Microsoft YaHei"] # 指定默認字形:解決plot不能顯示中文問題
mpl.rcParams["axes.unicode_minus"] = False
帶大家探索完pandas後,要告訴大家如何存檔
可以分別保存成CSV格式以及Excel常用的xlsx格式,就可以透過Excel開啟囉
存檔#存檔至New_Data.csv中
df.to_csv("New_Data.csv",encoding="utf8")#存檔至New_Data.xlsx
df.to_excel("New_Data.xlsx", encoding="utf8")
如果想了解更多功能,可以參考之前寫的Python 資料處理筆記 — 使用Panda進行數據處理,裡面會有更詳細的介紹。