熱線電話:13121318867

登錄
首頁精彩閱讀Python數據分析入門教程(三):數據選擇
Python數據分析入門教程(三):數據選擇
2020-03-30
收藏
Python數據分析入門教程(三):數據選擇

作者 | CDA數據分析師


在數據選擇之前是要把所有的菜品都洗好并放在不同的容器里?,F在要進行切配了,需要把這些菜品挑選出來,比如做一盤涼拌黃瓜,需要先把黃瓜找出來;要做一盤可樂雞翅,需要先把雞翅找出來。


數據分析也是同樣的道理,你要分析什么,首先要把對應的數據篩選出來。


常規的數據選擇主要有列選擇、行選擇、行列同時選擇三種方式。


一、列選擇


1、選擇某一列/某幾列


(1)Excel實現


在Excel中選擇某一列直接用鼠標選中這一列即可;如果要同時選擇多列,且待選擇的列不是相鄰的,這個時候就可以先選中其中一列,然后按住Ctrl鍵不放,再選擇其他列。舉個例子,同時選擇客戶姓名和成交時間這兩列,如下圖所示:


Python數據分析入門教程(三):數據選擇


(2)Python實現


在Python中我們想要獲取某列只需要在表df后面的方括號中指明要選擇的列名即可。如果是一列,則只需要傳入一個列名;如果是同時選擇多列,則傳入多個列名即可,多個列名用一個list存起來。


Python數據分析入門教程(三):數據選擇


Python數據分析入門教程(三):數據選擇


在Python中我們把這種通過傳入列名選擇數據的方法稱為普通索引。


除了傳入具體的列名,我們還可以傳入具體列的位置,即第幾列,對數據進行選取,通過傳入位置來獲取數據時需要用到iloc方法。


Python數據分析入門教程(三):數據選擇


在上面的代碼中,iloc后的方括號中逗號之前的部分表示要獲取行的位置,只輸入一個冒號,不輸入任何數值表示獲取所有的行;逗號之后的方括號表示要獲取的列的位置,列德位置同樣是也是從0開始計數。


我們把這種通過傳入具體位置來選擇數據的方式稱為位置索引。


2、選擇連續的某幾列


(1)Excel實現


在Excel中,要選擇連續的幾列時,直接用鼠標選中這幾列即可操作。當然了,你也可以先選擇一列,然后按住Ctrl鍵再去選擇其他列,由于要選取的列時連續的,因此沒有必要這么麻煩。


(2)Python實現


在Python中可以通過前面介紹的普通索引個位置索引獲取某一列或多列的數據。當你要獲取的是連續的某幾列,用普通索引和位置索引也是可以做到的,但是因為你要獲取的列是連續的,所以只要傳入這些連續列的位置區間即可,同樣需要用到iloc方法。


Python數據分析入門教程(三):數據選擇


在上面的代碼中,iloc后的方括號中逗號之前的表示選擇的行,當只傳入一個冒號時,表示選擇所有行;逗號后面表示要選擇列的位置區間,0:3表示選擇第1列到第4列之間的值(包含第1列單不包含第4列),我們把這種通過傳入一個位置區間來獲取數據的方式稱為切片索引。


二、行選擇


1、選擇某一行/某幾行


(1)Excel實現


在Excel中選擇行與選擇列的方式是一樣的,先選擇一行,按住Ctrl鍵再選擇其他行。


(2)Python實現


在Python中,獲取行的方式主要有兩種,一種是普通索引,即傳入具體行索引的名稱,需要用到loc方法;另一種是位置索引,即傳入具體的行數,需要用到iloc方法。


為了看的更清楚,我們對行索引進行自定義。


Python數據分析入門教程(三):數據選擇


2、選擇連續的某幾行


(1)Excel實現


在Excel中選擇連續的某幾行與選擇連續的某幾列的方法一致,不在贅述。


(2)Python實現


在Python中,選擇連續的某幾行時,你同樣可以把要選擇的每一個行索引名字或者行索引的位置輸進去。很顯然這是沒有必要的,只要把連續行的位置用一個區間表示,然后傳給iloc即可。


Python數據分析入門教程(三):數據選擇


3、選擇滿足條件的行


前面說到獲取某一列時,獲取的是這一列的所有行,我們還可只篩選出這一列中滿足條件的值。


比如年齡這一列,需要把非異常值(大于200的屬于異常值),即小于200歲的年齡篩選出來,該怎么實現呢?


(1)Excel實現


在Excel中我們直接使用篩選功能,將滿足條件的值篩選出來,篩選方法如下圖所示:


Python數據分析入門教程(三):數據選擇


篩選年齡小于200的數據前后的對比如下圖所示:。


Python數據分析入門教程(三):數據選擇


(2)Python實現


在Python中,我們直接在表名后面指明哪列要滿足什么條件,就可以把滿足條件的數據篩選出來。


Python數據分析入門教程(三):數據選擇


我們把上面這種通過傳入一個判斷條件來選擇數據的方式稱為布爾索引。


傳入的條件也可以是多個,如下為選擇的年齡小于200且唯一識別碼小于102的數據。


Python數據分析入門教程(三):數據選擇


三、行列同時選擇


上面的數據選擇都是針對單一的行或者列進行選擇,實際業務中我們也會用到行、列同時選擇,所謂的行、列同時選擇就是選擇出行和列的相交部分。


例如,我們要選擇第二、三行和第二、三列相交部分的數據,下圖中的陰影部分就是最終的選擇結果。


Python數據分析入門教程(三):數據選擇


行列同時選擇在Excel中主要是通過鼠標拖拽實現的,與前面的單一行/列選擇方法一致,此處不再贅述,接下來主要講講在Python中是如何實現的。


1、普通索引+普通索引選擇指定的行和列


位置索引+位置索引是通過同時傳入行、列索引的位置來獲取數據,需要用到iloc方法。


Python數據分析入門教程(三):數據選擇


loc方法中的第一對方括號表示行索引的選擇,傳入行索引的名稱;loc方法中的第二對方括號表示列索引的選擇,傳入列索引的名稱。


2、位置索引+位置索引選擇指定行和列


位置索引+位置索引是通過同事傳入行、列索引的位置來獲取數據,需要用到iloc方法。


Python數據分析入門教程(三):數據選擇


在iloc方法中的第一對方括號表示行索引的選擇,傳入要選擇行索引的位置;第二對方括號表示列索引的選擇,傳入要選擇列索引的位置。行和列索引的位置都是從0開始計數的。


3、布爾索引+普通索引選擇指定的行和列


布爾索引+普通索引是先對表進行布爾索引選擇行,然后通過普通索引選擇列。


Python數據分析入門教程(三):數據選擇


上面的代碼表示選擇年齡小于200的訂單編號和年齡,先通過布爾索引選擇出年齡小于200的所有行,然后通過普通索引選擇訂單編號和年齡這兩列。


4、切片索引+切片索引選擇指定的行和列


切片索引+切片索引是通過同時傳入行、列索引的位置區間進行數據選擇。


Python數據分析入門教程(三):數據選擇


5、切片索引+普通索引選擇指定的行和列


前面我們說過,如果是普通索引,就直接傳入行或者列名,用loc方法即可;如果是切片索引,也就是傳入行或者列的位置區間,要用iloc方法。如果是切片索引+普通索引,也就是行(列)用切片索引,列(行)用普通索引,這種交叉索引要用ix方法。


Python數據分析入門教程(三):數據選擇


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢