01 前言
我們經常讓Excel表格數(shù)據(jù)與Pandas的DataFrame數(shù)據(jù)做類比學習,而在實際的應用中漾肮,我們發(fā)現(xiàn)竟终,關于數(shù)據(jù)的選擇是很重要的一部分。
例如祭犯,要選擇某幾行某幾列秸妥,或者符合某種條件的數(shù)據(jù)(類似于Excel中的篩選功能)。
因此沃粗,本篇文章就簡單介紹幾種Pandas數(shù)據(jù)選擇的方法粥惧,用最少的知識點,解決最重要的問題陪每。
02 loc和iloc
在對Pandas數(shù)據(jù)進行操作時影晓,最常用的就是選擇部分行和列。
首先為loc檩禾,這個根據(jù)行和列索引名稱來進行選擇挂签,例如下面的數(shù)據(jù)。行索引就是0到6盼产,列索引就是name饵婆、course和score。
其用法為loc[行索引戏售,列索引]侨核。
例如,為選擇score列可用下面代碼灌灾,前面我們選擇全部行搓译,后面選擇score列。
data.loc[:,'score']
獲取第3行(其實是第四行锋喜,Python索引從0開始)些己,可用以下代碼。
data.loc[3,:]
選擇部分行和部分列嘿般,可用下面代碼:
data.loc[[2,4],['course','score']]
最后iloc用法和loc一樣段标,只是iloc使用行和列的數(shù)字索引,也就是說炉奴,行索引就是0到6逼庞,列索引就是0到2。
03 布爾選擇
為了選擇符合某種條件的數(shù)據(jù)瞻赶,就需要使用布爾選擇赛糟,例如,我們要選擇成績大于80的數(shù)據(jù)砸逊,可用下面代碼虑灰。
data[data['score'] > 80]
布爾選擇有與或非,分別用&痹兜,|穆咐,~來實現(xiàn),例如獲取李四和王五的成績單字旭。
data[(data['name'] == '李四') | (data['name'] == '王五')]
data[data['name'].isin(['李四','王五'])]
data[~(data['name'] == '張三')]
今天的分享就到這了对湃,我們下期再見~