我最近注意到使用.iloc
迭代DataFrame
行的函數非常慢。我發現有一個更快的方法叫做.iat
,據說這相當於.iloc
。我試了一下,它將運行時間減少了大約75%。pandas .iloc和.iat之間的區別?
但我有點猶豫:爲什麼有一個「等效」的方法更快?這兩者之間的內在作用必然存在差異,也是兩者存在的原因,而不僅僅是更快的原因。我試着到處尋找,但即使是大熊貓的文件只是說
DataFrame.iat
快速整數位置標訪問。與iloc類似,iat提供基於整數的查找。您也可以使用這些索引器進行設置。
並沒有幫助。
是否有限制使用.iat
?爲什麼更快;它是sloppier?或者我只是切換到使用.iat
,並愉快忘記.iloc
曾經存在?
'.iat'只標工作,'.iloc'標量+ DF,一系列工作 - >更通用 - > slowier – jezrael
謹慎注意:如果你迭代行很多時候,問題的關鍵不是'在'vs'loc'上,而是你應該很少在第一個地方迭代行;-) – JohnE