pandas中.loc和.iloc以及.at和.iat的區(qū)別說明
顯示索引和隱式索引
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[:,'成績'] #輸入中文,這里就報錯了,只能使用整數(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
直接loc定位相等的
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
先將這一列設(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
消耗時間:
25.706212759017944
設(shè)置為index后用at定位
start = time() for disk in goodDiskName2016[:100]: b.at[disk,features27[0]] time()-start
消耗時間:
25.67607021331787
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
- Python pandas中的iloc使用小結(jié)
- Pandas中的loc與iloc區(qū)別與用法小結(jié)
- pandas loc與iloc用法及區(qū)別
- python中pandas庫的iloc函數(shù)用法解析
- 一文秒懂pandas中iloc()函數(shù)
- Pandas庫中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中iloc函數(shù)的具體實現(xiàn)
相關(guān)文章
使用Python操作MySQL數(shù)據(jù)庫的教程詳解
在這篇文章中,主要為大家詳細(xì)介紹如何在Python中使用pymysql模塊來操作MySQL數(shù)據(jù)庫,文中的示例代碼簡介易懂,需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-07-07
使用Python實現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng)
這篇文章主要介紹了使用Python實現(xiàn) 學(xué)生學(xué)籍管理系統(tǒng),代碼大致分為五個函數(shù)組成,具體內(nèi)容詳情本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-11-11
Python數(shù)據(jù)分析之獲取雙色球歷史信息的方法示例
這篇文章主要介紹了Python數(shù)據(jù)分析之獲取雙色球歷史信息的方法,涉及Python網(wǎng)頁抓取、正則匹配、文件讀寫及數(shù)值運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2018-02-02
關(guān)于pandas.date_range()的用法及說明
這篇文章主要介紹了關(guān)于pandas.date_range()的用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07

