Pandas中loc和iloc函式用法詳解

2021-10-08 12:37:18 字數 2808 閱讀 3637

loc函式:通過行索引 「index」 中的具體值來取行資料(如取"index"為"a"的行)

iloc函式:通過行號來取行資料(如取第二行的資料)

本文給出loc、iloc常見的五種用法,並附上詳細**。

1

. 利用loc、iloc提取行資料

import numpy as np

import pandas as pd

#建立乙個dataframe

data=pd.dataframe(np.arange(16)

.reshape(4,

4),index=

list

('abcd'

),columns=

list

('abcd'))

in[1]

: data

out[1]

: a b c d

a 012

3b 456

7c 8910

11d 12

1314

15#取索引為'a'的行

in[2

]: data.loc[

'a']

out[2]

:a 0

b 1

c 2

d 3

#取第一行資料,索引為'a'的行就是第一行,所以結果相同

in[3

]: data.iloc[0]

out[3]

:a 0

b 1

c 2

d 3

2. 利用loc、iloc提取列資料

in[4

]:data.loc[:,

['a']]

#取'a'列所有行,多取幾列格式為 data.loc[:,['a','b']]

out[4]

: a

a 0

b 4

c 8

d 12

in[5]

:data.iloc[:,

[0]]

#取第0列所有行,多取幾列格式為 data.iloc[:,[0,1]]

out[5]

: a

a 0

b 4

c 8

d 12

3.利用loc、iloc提取指定行、指定列資料

in[6

]:data.loc[

['a'

,'b'],

['a'

,'b']]

#提取index為'a','b',列名為'a','b'中的資料

out[6]

: a b

a 0

1b 45

in[7

]:data.iloc[[0

,1],

[0,1

]]#提取第0、1行,第0、1列中的資料

out[7]

: a b

a 0

1b 454

.利用loc、iloc提取所有資料

in[8

]:data.loc[:,

:]#取a,b,c,d列的所有行

out[8]

: a b c d

a 012

3b 456

7c 8910

11d 12

131415

in[9

]:data.iloc[:,

:]#取第0,1,2,3列的所有行

out[9]

: a b c d

a 012

3b 456

7c 8910

11d 12

1314155

.利用loc函式,根據某個資料來提取資料所在的行

in[10

]: data.loc[data[

'a']==0

]#提取data資料(篩選條件: a列中數字為0所在的行資料)

out[10]

: a b c d

a 012

3 in[11

]: data.loc[

(data[

'a']==0

)&(data[

'b']==2

)]#提取data資料(多個篩選條件)

out[11]

: a b c d

a 012

3同時,以下幾種寫法也可提取資料所在的行,與第五種用法類似,僅作補充。

in[12

]: data[data[

'a']==0

]#dataframe用法

in[13

]: data[data[

'a']

.isin([0

])]#isin函式

in[14

]: data[

(data[

'a']==0

)&(data[

'b']==2

)]#dataframe用法

in[15

]: data[

(data[

'a']

.isin([0

]))&

(data[

'b']

.isin([2

]))]

#isin函式

pandas中loc和iloc方法

我們建立乙個dataframe import numpy as np import pandas as pd df pd.dataframe np.arange 16 reshape 4,4 index list abcd columns list abcd in df out a b c d a ...

Pandas中loc和iloc函式的用法

loc表示location的意思 iloc中的loc意思相同,前面的i表示integer,所以它只接受整數作為引數。import pandas as pd import numpy as np np.random.randn 5,2 表示返回5x2的矩陣,index表示行的編號,columns表示列...

pandas 中關於loc跟iloc總結

1 兩者對行的處理區別 pandas.loc 1 5 跟pandas.loc 0 4 取出來的資料是一樣的,這是因為,它是先對資料給定標籤,pandas.loc 1 5 是指從1開始給定標籤,pandas.loc 0 4 是指從0開始給定標籤。同理 pandas.iloc 1 5 也是一樣的。兩者在...