pandas 中 Dataframe 索引.ix .iloc .loc的區別

pandas 中 Dataframe 索引.ix .iloc .loc的區別
Read Time:39 Second
import pandas as pd
data = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]},index=["a","b","c"])

data

    A   B   C
a   1   4   7
b   2   5   8
c   3   6   9

*註:.ix 方法已被棄用,官方建議使用 .iloc 或 .loc 來取代 .ix

.loc 的使用

.loc[] 中括號裡面是先行後列,以逗號分割,行和列分別是行標籤和列標籤,比如我要得到數字5,那麼就就是:

data.loc["b","B"]

因為行標籤為b,列標籤為B,同理,那麼4就是data[“a”, “B”]

上面只是選擇某一個值,那麼如果我要選擇一個區域呢,比如我要選擇5,8 ,6,9,那麼可以這樣做:

data.loc["b":"c", "B":"C"]

.iloc 的使用

.iloc[] 與 .loc 一樣,中括號裡面也是先行後列,行列標籤用逗號分割,與 .loc 不同的之處是,.iloc 是根據行數與列數來索引的,比如上面提到的得到數字5,那麼用 .iloc 來表示就是 data.iloc[1, 1],因為5是第2行第2列,*注意「索引」從0開始的,同理4就是 data.iloc[0, 1]

同樣如果我們需要選擇一個區域,比如我要選擇5,8,6,9,那麼用,iloc來選擇就是:

data.iloc[1:3,1:3]

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %