Pandas基礎(三) 資料的篩選

2021-08-29 09:38:40 字數 2884 閱讀 5891

匯入pandas庫後,初始乙個dataframe:

data = pd.dataframe(np.arange(16).reshape((4, 4)),

index=['ohio', 'colorado', 'utah', 'new york'],

columns=['one', 'two', 'three', 'four'])

輸出:

one	two	three	four

ohio 0 1 2 3

colorado 4 5 6 7

utah 8 9 10 11

new york 12 13 14 15

1.簡單的列的檢視

df.three
或者:

df['three']
多列的檢視:

df[['one','three']]
2.使用loc和iloc選擇資料:loc和iloc允許我們使用軸標籤(loc)或整數標籤(iloc)以numpy風格的語法從dataframe中篩選出想要檢視的資料。

通過標籤篩選出單行多列的資料:

data.loc['ohio',['two','three']]
輸出:

two      1

three 2

name: ohio, dtype: int64

通過整數標籤iloc選擇資料:

data.iloc[2,[3,0,1]]
輸出:

four    11

one 8

two 9

name: utah, dtype: int64

data.iloc[2]
輸出:

one       8

two 9

three 10

four 11

name: utah, dtype: int64

索引功能還可以用於切片

data.loc[:'utah','two']
輸出:

ohio        1

colorado 5

utah 9

name: two, dtype: int64

data.iloc[:,:3]
輸出:

one	two	three

ohio 0 1 2

colorado 4 5 6

utah 8 9 10

new york 12 13 14

data.iloc[:,:3][data.three > 5]
輸出:

one	two	three

colorado 4 5 6

utah 8 9 10

new york 12 13 14

dataframe索引選項如下圖:

3.多個條件篩選

data[(data.one > 4) & (data.four == 11)]
輸出:

one	two	three	four

utah 8 9 10 11

4.特殊條件篩選資料我們新建乙個資料表df,表結構如下:

state	year	pop

0 ohio 2000 1.5

1 ohio 2001 1.7

2 ohio 2002 3.6

3 nevada 2001 2.4

4 nevada 2002 2.9

5 nevada 2003 3.2

6 oland 2004 3.2

選擇state中以』o』開始的資料:

df[df.state.str.startswith('o')]
輸出:

state	year	pop

0 ohio 2000 1.5

1 ohio 2001 1.7

2 ohio 2002 3.6

6 oland 2004 3.2

選擇ohio和nevada的pop資料:

df.loc[df.state.isin(['nevada','ohio']),['state','pop']]
輸出:

state	pop

0 ohio 1.5

1 ohio 1.7

2 ohio 3.6

3 nevada 2.4

4 nevada 2.9

5 nevada 3.2

總之:loc是以行列的名字為索引做資料篩選;而iloc則是以行列的整數字置(index)為索引進行資料篩選。

初識pandas 篩選資料

首先是安裝pandas庫,我已經發布了安裝的whl的包 第一步就是到匯入這個庫 import pandas as pd 接下來就要顯示他的列和行,他預設是只顯示5行,所以我們要把他全部顯示出來 pd.set option display.max rows none 接下來就是開啟excel檔案了 d...

Pandas實現in與not in篩選資料

通過df.isin 來判斷dataframe中每個元素是否存在 dataframe.isin 官方文件 import pandas as pd 示例資料 df pd.dataframe 需被清理的user id drop user 2 4,6 按照python的思維,最簡單的做法是 df df df...

pandas 篩選指定行或者列的資料

pandas主要的兩個資料結構是 series 相當於一行或一列資料結構和dataframe 相當於多行多列的乙個 資料機構 原文 dataframe.drop labels none,axis 0,index none,columns none,level none,inplace false,e...