import pandas as pd df = pd.DataFrame({'姓名':['張三','李四','王五'],'成績':[85,59,76]})
傳入冒號‘:',表示所有行或者列
顯示索引:.loc,第一個參數(shù)為 index切片,第二個為 columns列名
df.loc[2] #index為2的記錄,這里是王五的成績。 df.loc[:,'姓名'] #第一個參數(shù)為冒號,表示所有行,這里是篩選姓名這列記錄。
隱式索引:.iloc(integer_location), 只能傳入整數(shù)。
df.iloc[:2,:] #張三和李四的成績,跟列表切片一樣,冒號左閉右開。 df.iloc[:,'成績'] #輸入中文,這里就報(bào)錯了,只能使用整數(shù)。
也可以使用at定位到某個元素
語法規(guī)則:df.at[index,columns]
df.at[1,'成績'] #使用索引標(biāo)簽,李四的成績 df.iat[1,1] #類似于iloc使用隱式索引訪問某個元素
補(bǔ)充:pandas快速定位某一列中存在某值的所有行,loc, at, ==對比
如下所示:
goodDiskName2016
from datetime import datetime from time import time
start = time() for disk in goodDiskName2016[:100]: ____ST4000DM000_2016_good_feature27[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]] time()-start
消耗時間
82.93997383117676
start = time() for disk in goodDiskName2016[:100]: ____ST4000DM000_2016_good_feature27.loc[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]] time()-start
消耗時間:
82.4887466430664
b = ST4000DM000_2016_good_feature27.set_index('serial_number')
start = time() for disk in goodDiskName2016[:100]: b.loc[disk][features27[0]] time()-start
消耗時間:
25.706212759017944
start = time() for disk in goodDiskName2016[:100]: b.at[disk,features27[0]] time()-start
消耗時間:
25.67607021331787
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:錦州 天水 股票 西安 隨州 安慶 白城 日照
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《pandas中.loc和.iloc以及.at和.iat的區(qū)別說明》,本文關(guān)鍵詞 pandas,中,.loc,和,.iloc,以及,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。