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 也是一樣的。兩者在...