在對資料做預處理的時候用到了pandas,整理一些用到的函式,以後檢視方便。初次使用給我的感覺就是pandas是用來處理**資料的乙個工具包,尤其是對csv格式的資料。它基於dataframe
和series
兩種資料型別。
1.資料讀入
假設被讀取的文字名為train_labels_100.csv
內容如下所示:
讀檔案**:
import pandas as pd
examples = pd.read_csv(『train_labels_100.csv』)
其中,examples
是dataframe
型別(我管這個叫資料框),dataframe
是乙個二維的,**型的資料結構,從csv
讀取的資料都會放在它裡面。
2.資料檢視
當匯入資料完成後,有強迫症的小夥伴總想檢視下讀入的資料長什麼樣子,或者對不對。用print(examples)
就能檢視讀入的全部資料,但是當資料量很大的時候在終端中全部顯示很難看。可以採用print(examples.head(3))
僅檢視前三行,如下圖所示,head()
是按資料原來的順序獲取前幾行,同樣tail()
是按順序獲取最後幾行,len(examples)
可以獲取總行數。
3.行、列訪問、篩選記錄
在此,我把每一行就做乙個記錄,有時候我們只需要檢視某些行、列,或者對記錄進行篩選。當篩選列的時候,採用列表前就可以,如獲取height
這一列,**如下:
#獲取height列
hg = examples['height']
print(type(hg))
print(hg)
結果如下,hg
是series
型別的,這是一種一維的資料型別。
可以採用loc[index]
函式對行進行訪問,index
就是每一行的索引,在最左邊。比如訪問index=2
的那行資料,**如下:
row = examples.loc[2]
print(row)
結果如下:
**hg = examples[examples['height']<1777]
可以實現篩選,結果如下:
當需要篩選出滿足條件的記錄時,比如,我們要找出height>1333
的所有記錄,可以使用如下**:
row = examples.loc[examples['height']>1333]
print(row)
結果如下:若有多個篩選條件,可以使用&
符號,如examples.loc[(examples['height']>1333)&(examples['height']>1333)]
3.分組
groupby
會按照你選擇的列對資料集進行分組。**如下:
#按照filename這個列標籤進行分組
gb = examples.groupby("filename")
print('------- gb.size()-------')
#獲取每組有多少條記錄
print(gb.size())
print('------- gb.get_group()-------')
#檢視20180906152036.jpg這一組的記錄
#獲取每組的key(每組的標誌)
print(gb.groups.keys())
#獲取所有組的資訊
print('------- gb.groups-------')
print(gb.groups)
結果如下:
pandas簡單使用介紹
1.pandas讀取csv檔案,並選擇資料行,資料列,單個及多個資料 csv檔案 c users 10907 documents training days csv檔案操作 test.csv def pandas csv csv path df pd.read csv csv path,sep en...
部分函式介紹()
void cvcanny const cvarr image,cvarr edges,double threshold1,double threshold2,int aperture size 3 函式功能 函式 cvcanny 採用 canny 演算法發現輸入影象的邊緣而且在輸出影象中標識這些邊緣...
部分函式介紹
numpy的reshape 函式,order c代表橫著讀寫,order f代表豎著讀寫。其中 1代表的是自動計算行數或者列數。鳶尾花資料報括150行4列,分別是花萼長度 寬度 花瓣長度 寬度。train test split 將矩陣隨即劃分為訓練子集和測試子集,並且返回劃分好的訓練集樣本標籤和測試...