10分鐘學會pandas的資料處理操作

Yanwei Liu
6 min readApr 9, 2020

--

在閱讀文章之前,先和各位讀者分享本文章的程式碼位置連結:

本文開始

相信大多數人都常常聽到「數據分析」這個名詞。

今天,我想用短短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後,程式就會執行,並且跳到下一個窗格

如本圖所示,資料已經成功載入
顯示前10筆資料

嘗嘗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進行數據處理,裡面會有更詳細的介紹。

--

--