pandas loc與iloc用法及區(qū)別
共同點(diǎn)
兩者都接收兩個(gè)參數(shù),第一個(gè)參數(shù)是行的范圍,第二個(gè)參數(shù)是列的范圍
不同點(diǎn)
loc
函數(shù)接收的是行/列的名稱,iloc
函數(shù)接收的是行/列的下標(biāo)(從0開(kāi)始)loc
函數(shù)在切片時(shí)是按閉區(qū)間切片的,也就是區(qū)間兩邊都能取到,iloc
函數(shù)則是按傳統(tǒng)的左閉右開(kāi)的方式切片的
圖解:
詳細(xì)用法
用于展示用法的數(shù)據(jù)data
如下:
loc函數(shù)參數(shù)類(lèi)型
單個(gè)行名/列名 或 行名/列名的列表
print(data.loc['Chris']) # 等價(jià)于data.loc['Chris', :]
輸出:
注意上面這種寫(xiě)法返回的是pandas.core.series.Series
對(duì)象,如果要pandas.core.frame.DataFrame
對(duì)象可以改成data.loc[['Chris']]
print(data.loc[['Alice', 'David', 'Ellen'], ['Physics', 'Chemistry']])
輸出:
列名/行名的切片
print(data.loc['Alice': 'Ellen', 'Math': 'English'])
輸出:
布爾型列表(注意長(zhǎng)度需要和行數(shù)/列數(shù)保持一致)
print(data.loc[[False, True, False, False, True, True], [True, False, False, True, True, True]])
輸出:
可以返回布爾型列表的表達(dá)式(判斷或函數(shù))
print(data.loc[data['Chinese'] > 100, 'Chinese'])
輸出:
同樣的,這種寫(xiě)法返回的是pandas.core.series.Series
對(duì)象,如果要pandas.core.frame.DataFrame
對(duì)象可以改成data.loc[data['Chinese'] > 100, ['Chinese']]
print(data.loc[lambda x: x['English'] < 100])
輸出:
iloc函數(shù)參數(shù)類(lèi)型
單個(gè)下標(biāo) 或 若干下標(biāo)構(gòu)成的列表
print(data.iloc[3]) # 等價(jià)于print(data.iloc[3, :])
輸出:
這種寫(xiě)法返回的是pandas.core.series.Series
對(duì)象,如果要pandas.core.frame.DataFrame
對(duì)象可以改成data.iloc[[3]]
print(data.iloc[[1, 2, 4], [2, 4, 5]])
輸出:
下標(biāo)的切片
print(data.iloc[4: 6, 1:])
輸出:
布爾型列表(注意長(zhǎng)度需要和行數(shù)/列數(shù)保持一致)
print(data.iloc[[False, True, False, False, True, True], [True, False, False, True, True, True]])
輸出:
可以返回合理值的函數(shù)
data.iloc[lambda x: x.index > 'Bob']
輸出:
解釋一下,這里傳入lambda
匿名函數(shù)的x
是整個(gè)DataFrame
,所以x.index
就是['Alice', 'Bob', 'Chris', 'David', 'Ellen', 'Frank']
,大于Bob
即取字典序大于Bob
的那些index;這里的函數(shù)意義不大,真正有用的是當(dāng)DataFrame
的index是整數(shù)的時(shí)候你可以通過(guò)這種方式選取滿足某種要求的index,比如只選那些index為偶數(shù)的記錄:
data.iloc[lambda x: x.index % 2 == 0]
到此這篇關(guān)于pandas loc與iloc用法及區(qū)別的文章就介紹到這了,更多相關(guān)pandas loc iloc內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python pandas中的iloc使用小結(jié)
- Pandas中的loc與iloc區(qū)別與用法小結(jié)
- python中pandas庫(kù)的iloc函數(shù)用法解析
- 一文秒懂pandas中iloc()函數(shù)
- Pandas庫(kù)中iloc[]函數(shù)的使用方法
- pandas loc iloc ix用法詳細(xì)分析
- 利用Pandas讀取某列某行數(shù)據(jù)之loc和iloc用法總結(jié)
- Python Pandas數(shù)據(jù)分析之iloc和loc的用法詳解
- python pandas中索引函數(shù)loc和iloc的區(qū)別分析
- pandas中.loc和.iloc以及.at和.iat的區(qū)別說(shuō)明
- pandas中iloc函數(shù)的具體實(shí)現(xiàn)
相關(guān)文章
Tensorflow 同時(shí)載入多個(gè)模型的實(shí)例講解
今天小編就為大家分享一篇Tensorflow 同時(shí)載入多個(gè)模型的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Python實(shí)例練習(xí)水仙花數(shù)問(wèn)題講解
這篇文章介紹了Python找水仙花數(shù)從分析到實(shí)現(xiàn)的過(guò)程,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05python使用SimpleXMLRPCServer實(shí)現(xiàn)簡(jiǎn)單的rpc過(guò)程
這篇文章主要介紹了python使用SimpleXMLRPCServer實(shí)現(xiàn)簡(jiǎn)單的rpc過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06Python 啟動(dòng)時(shí)選擇32位 或64位版的操作
這篇文章主要介紹了Python 啟動(dòng)時(shí)選擇32位 或64位版的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Python BeautifulSoup基本用法詳解(通過(guò)標(biāo)簽及class定位元素)
這篇文章主要介紹了Python BeautifulSoup基本用法(通過(guò)標(biāo)簽及class定位元素),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08python報(bào)錯(cuò)unexpected?indent的解決辦法
這篇文章主要給大家介紹了關(guān)于python報(bào)錯(cuò)unexpected?indent的解決辦法,在python中出現(xiàn)"Unexpected indent"可能是代碼的縮進(jìn)出現(xiàn)問(wèn)題,需要的朋友可以參考下2023-06-06