pandas之ix loc 和 iloc的區別

2021-08-20 17:20:39 字數 2455 閱讀 3215

在python中處理日常資料時,經常會需要索引某些行,現結合本人使用經驗做乙個小的總結,pandas中主要有以下函式:

1、 loc

2、iloc

3、ix

首先來談談loc:

其是通過行標籤索引行資料

import pandas as pd

df = pd.dataframe(,

columns = ['team_a', 'team_b', 'score_a', 'score_b'])

dfout[2]:

team_a team_b score_a score_b

0 spain usa 5 4

1 germany argentina 3 0

2 brazil mexico 2 3

3 france belgium 0 0

如果我們索引第三行,則可以通過如下操作:

#當索引為整數時

df.loc[2]

out[3]:

team_a brazil

team_b mexico

score_a 2

score_b 3

name: 2, dtype: object

#當索引為字元時

df.loc['2']

結果類似

#索引多行

df.loc[:3]

out[5]:

team_a     team_b  score_a  score_b

0    spain        usa        5        4

1  germany  argentina        3        0

2   brazil     mexico        2        3

3   france    belgium        0        0

#索引多行多列df.loc[2,['score_a','score_b']]

out[7]:

score_a    2

score_b    3

name: 2, dtype: object

其次是iloc—通過行號獲取行資料

如果想要獲取哪一行就輸入該行數字,如果通過行標籤索引會報錯:

#索引某一行,輸入該行數字

df.iloc[2]

out[10]:

team_a brazil

team_b mexico

score_a 2

score_b 3

name: 2, dtype: object

#索引多行

df.iloc[1:]

out[11]:

team_a     team_b  score_a  score_b

1  germany  argentina        3        0

2   brazil     mexico        2        3

3   france    belgium        0        0

#索引列

df.iloc[:,[2]]

out[15]:

score_a

0        5

1        3

2        2

3        0

最後是ix—結合前兩種的混合索引

ix是結合了前兩種方法,既可以通過行標籤也可以通過行數字進行索引,詳細如下:

import pandas as pd

df = pd.dataframe(,

columns = ['team_a', 'team_b', 'score_a', 'score_b'],

index=['one','two','three','four'])

#行號df.ix[2]

out[17]:

team_a brazil

team_b mexico

score_a 2

score_b 3

name: 2, dtype: object

#行標籤

df.ix['three']

out[26]:

team_a     brazil

team_b     mexico

score_a         2

score_b         3

name: three, dtype: object

終於在節前放假寫完了這一篇~

Pandas詳解之排序和排名

約定 import pandas as pd import numpy as np12 排序和排名 根據條件對series物件或dataframe物件的值排序 sorting 和排名 ranking 是一種重要的內建運算。接下來為大家介紹如何使用pandas物件的 sort index sort v...

pandas之重塑和軸向旋轉

對於dataframe,主要功能有 1 stack 將資料的列 旋轉 為行 2 unstack 將資料的行 旋轉 為列 例1 其中行列索引均為字串 data dataframe np.arange 6 reshape 2,3 index pd.index o c name state columns...

從IL看強制轉換和is,as

1.強制型別轉換。注意 下面的所有的il 都是release版,並且優化之後的。is和as的作用不多說,下面主要從il角度來看一下他們的工作原理。請看如下 class casttest 然後使用ildasm檢視他的il 如下 首先,使用ldstr指令將物件 ok 的引用載入到棧上,然後使用stloc...