在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 ...