1.相對/絕對路徑
使用路徑來匯入資料,會有兩種方式:
相對路徑
絕對路徑
在下列的表達式中,第5種為絕對路徑,也就是這個檔案最完整的路徑,從根目錄開始寫起。前4個則為相對路徑,相對路徑就是相對於目前編寫的python文件的路徑。
' / ':根目錄
' ./ ':當前同級目錄
' ../ ':上級目錄
1. open('檔名1.txt')
2. open('/data/檔名2.txt')
3. open('./data/檔名3.txt')
4. open('../data/檔名4.txt')
5. open('C:\\user\\檔名5.txt')
若目前編寫文件的路徑在C:\user\file下,則上面三種表達方式的路徑就為:
1. C:\user\file\檔名1.txt
2. C:\data\檔名2.txt
3. C:\user\file\data\檔名3.txt
4. C:\user\data\檔名4.txt
5. C:\user\檔名5.txt
然而路徑分隔符' / '與作業系統有關,在windows中,常以' / '表示相對路徑,' \ '為絕對路徑,而' \\ '為表示轉義,但在Unix則是' / '。
因此絕對路徑上若用os.path.join()來連接,該函數會用當前作業系統的路徑分隔符連接起來,方便跨平台作業。
whole_path = os.path.join(path1[, path2[, ...]])
2.資料選取
定義一個Dataframe
1)資料擷取
Pandas 使用 [] 來取得該 column 的所有資料,若要取得多個column可在[]放入list,另外,每個 column 的label也可以視為 DataFrame 的一個屬性,如下列第1、2及3式。若欲取得該 column的某幾列(row)資料,則可在第4式的[]中輸入其index。
1. data['column1']
2. data[['column1','column2']]
3. data.column1
4. data.column1[]
選取'頭''尾'特定幾筆資料可用.head( )及.tail( ),其預設顯示為5筆,可在( )填入欲顯示的資料數量。
1. data.head()
2. data.tail()
另外若要篩選出資料內的某些欄位,則可以用.iloc[]及.loc[]。其中括號裡面是先列(row)後行(column)
.iloc為index based的資料取法
.loc為label based的資料取法
在.iloc中若[]內為單一整數,取得一個 row的series,[[]]兩個括號包覆可回傳為dataframe。在.loc中若[]內為單一整數,取得一個label為其數的 row的series,[[]]兩個括號包覆可回傳為dataframe
1. data.iloc[0:2,1:3]
2. data.loc[0:1,'A':'B']
因此從上列的第1式可以取得row之index為0~1且column之index為1~2的資料。而第2式為row之label為0~1且column之label為A~B的資料。
2)資料篩選
在[]中輸入欲篩選的條件
data[data['B']>3]
3)資料分群
利用.groupby將資料資所需要的項目分群,並加上計算式,若欲分群的項目有重複項,則會依照此計算式進行資料運算。
data.groupby(by='B').mean()