pandas iloc和loc的區別

2021-10-02 22:03:39 字數 2264 閱讀 7546

簡單來說,iloc()和loc()區別就在於前者是通過索引名來索引,後者通過索引值索引

同時要注意,當乙個dataframe的索引是預設狀態時,二者沒有什麼區別,因為索引值和索引名都是一樣的

來看下面幾個例子

先看看iloc()的

df = pd.dataframe(np.arange(0,

45,3)

.reshape(5,

3), index =

['a'

,'b'

,'c'

,'d'

,'e'],

columns =

['one'

,'two'

,'three'])

print

(df)

print

('——————'

)print

(df.loc[:,

:])print

('——————'

)# print(df.loc[:,0]) 報錯 用索引值來索引

#print(df.loc[0,:]) 報錯

print

(df.loc[

'a',

'one'])

#用索引名索引

print

('——————'

)print

(df.loc[

'a':

'c',

'one'])

out:

one two three

a 036

b 9

1215

c 18

2124

d 27

3033

e 36

3942

——————

one two three

a 036

b 9

1215

c 18

2124

d 27

3033

e 36

3942

——————

0——————

a 0

b 9

c 18

name: one, dtype: int32

再看看loc()的

print

(df.iloc[:,

:])print

('——————'

)print

(df.iloc[:,

0])#用索引值索引

print

('——————'

)#print(df.iloc['a',0]) 報錯 用索引名索引

#print(df.iloc['a':'c','one']) 報錯

out:

one two three

a 036

b 9

1215

c 18

2124

d 27

3033

e 36

3942

——————

a 0

b 9

c 18

d 27

e 36

name: one, dtype: int32

——————

再看看索引為系統預設的情況:發現二者的輸出沒有區別

df = pd.dataframe(np.arange(0,

45,3)

.reshape(5,

3))print

(df)

print

('——————'

)print

(df.iloc[0,

:])print

('——————'

)print

(df.loc[0,

:])out:01

2003

61912

1521821243

2730334

3639

42——————00

1326

name:

0, dtype: int32

——————00

1326

name:

0, dtype: int32

LOC和ILOC以及XI的區別

loc 通過行標籤索引行資料 1.1 loc 1 表示索引的是第1行 index 是整數 python view plain copy print?import pandas as pd data 1,2,3 4,5,6 index 0,1 columns a b c df pd.dataframe...

pandas的索引問題(iloc和loc)

loc指的是定位索引,英文意思是loction iloc指的是數字定位索引,int location表示這個只能通過整數索引來取出元素 取出指定的某幾行,或某幾列 這個方法是在需要取出特定的行或者列的時候用,行或者列可以不填,預設選擇是全部行或者全部列 區域選擇 這個方法是比較常用的選擇子區域的方法...

loc 和 iloc基本選取操作

import pandas as pd loc 和 iloc基本選取操作 df pd.dataframe hu 男 23 chen 女 27 li 男 33 index 1001 1002 1003 columns name age loc選取行列和相應的資料型別,loc注意要用於標籤索引選取 一,...