簡單來說,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注意要用於標籤索引選取 一,...