pandas loc和iloc的區別

2021-10-06 03:24:34 字數 1531 閱讀 5338

在pandas裡要切分或者選取符合條件的行列資料,就用loc或者iloc函式,那麼今天來具體講解下這兩者的區別。

在這裡直接給出結論,1、在dataframe沒有具體的行索引名稱(index)和列索引名稱(columns)時,loc和iloc都可以通過位置來定位,但是loc是包括末尾索引資料,iloc不包括。2、在有具體的行索引名稱(index)和列索引名稱(columns)時,loc只能通過具體行、列名稱來定位資料,iloc仍然只能通過位置來定位資料。

import pandas as pd

import numpy as np

dict1=[,

,,]df1=pd.dataframe(dict1)

#建立資料框

#二、loc和iloc的區別

df=df0.loc[0:

2,0:

2]#loc取0~2三行三列的資料

print

(df)

df=df0.iloc[0:

2,0:

2]#iloc只取0~1兩行兩列的資料

print

(df)

df=df1.loc[0:

2,['age'

,'amount']]

#loc取0~2三行,兩列的資料

print

(df)

df=df1.iloc[0:

2,[0

,2]]

#iloc取0~1兩行,第0、2列兩列的資料

print

(df)

df1.index=pd.series(

['a'

,'b'

,'c'

,'d'])

#加上行索引名稱

df=df1.loc[

['a'

,'b'],

['age'

,'amount']]

#loc是通過index和columns來切分資料

print

(df)

df=df1.iloc[0:

2,0:

2]print

(df)

結果如下:

0 1 2

0 -1.049779 -1.221557 0.043812

1 -1.002206 0.328327 -1.409849

2 -0.777498 -0.571406 -0.795737

0 10 -1.049779 -1.221557

1 -1.002206 0.328327

age  amount

0   20    1000

1   30    1200

2   37    2000

age name

0   20   aa

1   30   bb

age  amount

a   20    1000

b   30    1200

age  amount

a   20    1000

b   30    1200

Python loc和iloc的區別

pandas以類似字典的方式來獲取某一列的值,比如df a 這會得到df的a列。如果我們對某一行感興趣呢?這個時候有兩種方法,一種是iloc方法,另一種方法是loc方法。loc是指location的意思,iloc中的i是指integer。這兩者的區別如下 loc works on labels in...

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之ix loc 和 iloc的區別

在python中處理日常資料時,經常會需要索引某些行,現結合本人使用經驗做乙個小的總結,pandas中主要有以下函式 1 loc 2 iloc 3 ix 首先來談談loc 其是通過行標籤索引行資料 import pandas as pd df pd.dataframe columns team a ...