2021年2月13日 星期六

Python|常用基本語言

之前有提到說 Python 和 R 很像,這篇就拿 R 的基本語言那篇改寫成 Python 的用法。

Python 的 libraries 有幾個,常用的有 pandas (data structures & tools), NumPy (arrays, matrices), SciPy (integrals, optimization) 和 Matplotlib (plots, graphs)。

以下 Python 的指令都是在 Jupyter Notebook 裡執行,關於怎麼用 jupyter notebook,請參考這篇:Python | 我想玩,但要怎麼開始?

此篇的指令教學在這:Python 04
之前的入門可參考:Python 01, Python 02, Python data

在 R 裡要讀檔要先跑 library readr,叫出讀檔的功能,然後再用指令 read.csv() 讀檔。例如要用 R 讀電腦裡的 mtcar,指令如下:

library(readr)
mtcars <- read_csv("~/Desktop/R program/ECOSCOPE/mtcars.csv")
View(mtcars)


在 Python 裡則是用 library pandas,指令會變成:

import pandas as pd
mtcars = pd.read_csv("~/Desktop/R program/ECOSCOPE/mtcars.csv")
mtcars



Figure 1. Pandas - import csv file

如果想把更新後的 dataframe 輸出成 csv 檔案的話,可以用 df.to_csv()

這邊我們把 mtcars.csv 輸出到 Python 的檔案夾。


Figure 2. Export csv file

跟 R 相同,dataframe 同樣是 df。pd.read_csv() 會預設第一行為 header,也就是 variables 的名稱,例如圖一的部分,mtcars 這個資料檔案裡是有 variable name,在第 0 行上面那行便是。但是在 autos 這個資料檔裡是沒有的,所以第一筆資料變成了 variable name (圖三)。


Figure 3. Data without headers

這筆資料太長了,我們可以選擇只看前幾列或最後幾列,這時可用 df.head(n),看最後幾行則是用 tail.head(n) (如下圖)。在 R 裡的話,是用 head(df, n)


Figure 4. Read head only

上圖裡還多加了一個指令,因為每次都要把路徑打出來的話太麻煩了,我們可以把路徑設成 path,之後就可以用 path 代替。

如果第一行沒有 variables 的名稱,可以在裡面加 header = None,第一行就會變成用數字代替,如圖五。


Figure 5. Data frame without headers, use header = None.

如果想要加 variable name 的話,可以用 headers =["", '' ", ...]。"" 裡面為你想取的 variable name,如下圖。


Figure 6. Data frame with new headers

接下來,我們可以把加了 variable name 的新檔案輸出去為新的 csv file。

path = "~/Desktop/Python/data/autos.csv"
autos.to_csv(path)


打開 csv 檢查一下。



真的加進去了呢!

接下來,可以查檔案的 types,用的指令是 df.dtypes


Figure 7. Check types of data frame

可以看到有的應該是數字的,卻顯示為 object,這些之後要自己改才可以執行一些運算,之前介紹 R 的時候也有提過。

我們也可以查檔案資料的 statistic summary,用的指令是 df.describe()


Figure 8. Statistical summary of data frame

df.describe() 這個功能不會顯示非數字的 variables,如果要顯示所有的總結報告,可以在裡面加 include = "all"


Figure 9. Statistical summary including non-numeric data. NaN = not a number.




以上,這篇就先這樣吧。













沒有留言:

張貼留言

歡迎發表意見