主頁 > 知識(shí)庫 > pandas中.loc和.iloc以及.at和.iat的區(qū)別說明

pandas中.loc和.iloc以及.at和.iat的區(qū)別說明

熱門標(biāo)簽:硅谷的囚徒呼叫中心 百度AI接口 Win7旗艦版 語音系統(tǒng) 呼叫中心市場(chǎng)需求 企業(yè)做大做強(qiáng) 客戶服務(wù) 電話運(yùn)營(yíng)中心

顯示索引和隱式索引

import pandas as pd
df = pd.DataFrame({'姓名':['張三','李四','王五'],'成績(jī)':[85,59,76]})

傳入冒號(hào)‘:',表示所有行或者列

顯示索引:.loc,第一個(gè)參數(shù)為 index切片,第二個(gè)為 columns列名

df.loc[2] #index為2的記錄,這里是王五的成績(jī)。
df.loc[:,'姓名'] #第一個(gè)參數(shù)為冒號(hào),表示所有行,這里是篩選姓名這列記錄。

隱式索引:.iloc(integer_location), 只能傳入整數(shù)。

df.iloc[:2,:] #張三和李四的成績(jī),跟列表切片一樣,冒號(hào)左閉右開。
df.iloc[:,'成績(jī)'] #輸入中文,這里就報(bào)錯(cuò)了,只能使用整數(shù)。

也可以使用at定位到某個(gè)元素

語法規(guī)則:df.at[index,columns]

df.at[1,'成績(jī)'] #使用索引標(biāo)簽,李四的成績(jī)
df.iat[1,1] #類似于iloc使用隱式索引訪問某個(gè)元素

補(bǔ)充:pandas快速定位某一列中存在某值的所有行,loc, at, ==對(duì)比

如下所示:

goodDiskName2016
from datetime import datetime
from time import time

直接方括號(hào)定位相等的列

start = time()
for disk in goodDiskName2016[:100]:
   ____ST4000DM000_2016_good_feature27[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]]
time()-start

消耗時(shí)間

82.93997383117676

直接loc定位相等的

start = time()
for disk in goodDiskName2016[:100]:  ____ST4000DM000_2016_good_feature27.loc[ST4000DM000_2016_good_feature27.serial_number==disk][features27[0]]
time()-start

消耗時(shí)間:

82.4887466430664

先將這一列設(shè)置為index,然后通過loc查找

b = ST4000DM000_2016_good_feature27.set_index('serial_number')
start = time()
for disk in goodDiskName2016[:100]:
 b.loc[disk][features27[0]]
time()-start

消耗時(shí)間:

25.706212759017944

設(shè)置為index后用at定位

start = time()
for disk in goodDiskName2016[:100]:
 b.at[disk,features27[0]]
time()-start

消耗時(shí)間:

25.67607021331787

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python基礎(chǔ)之pandas數(shù)據(jù)合并
  • python-pandas創(chuàng)建Series數(shù)據(jù)類型的操作
  • Python數(shù)據(jù)分析之pandas函數(shù)詳解
  • python基于Pandas讀寫MySQL數(shù)據(jù)庫
  • pandas讀取excel時(shí)獲取讀取進(jìn)度的實(shí)現(xiàn)
  • 淺談Pandas dataframe數(shù)據(jù)處理方法的速度比較
  • 解決使用pandas聚類時(shí)的小坑
  • pandas 使用merge實(shí)現(xiàn)百倍加速的操作
  • 詳細(xì)介紹在pandas中創(chuàng)建category類型數(shù)據(jù)的幾種方法
  • python中pandas.read_csv()函數(shù)的深入講解
  • pandas 顛倒列順序的兩種解決方案
  • pandas調(diào)整列的順序以及添加列的實(shí)現(xiàn)
  • pandas快速處理Excel,替換Nan,轉(zhuǎn)字典的操作
  • Python基礎(chǔ)之教你怎么在M1系統(tǒng)上使用pandas

標(biāo)簽:山西 崇左 山西 海南 長(zhǎng)沙 濟(jì)南 喀什 安康

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《pandas中.loc和.iloc以及.at和.iat的區(qū)別說明》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266