Pandas行級別的遍歷

要遍歷數據幀(DataFrame)中的行,可以使用以下方式:

iteritems() - 迭代(key,value) 對
iterrows() - 將行迭代為(索引,系列) 對
itertuples() - 以namedtuples的形式迭代行

可以看出循環執行的速度是最慢的,iterrows()針對Pandas的dataframe進行了優化,相比直接循環有顯著提升。apply()方法也是在行之間進行循環,但由于利用了類似Cython的迭代器的一系列全局優化,其效率要比iterrows高很多。NumPy arrays的矢量化運行速度最快,其次是Pandas series矢量化。由于矢量化是同時作用于整個序列的,可以節省更多的時間,相比使用標量操作更好,NumPy使用預編譯的C代碼在底層進行優化,同時也避免了Pandas series操作過程中的很多開銷,例如索引、數據類型等等,因此,NumPy arrays的操作要比Pandas series快得多。
具體可以參照 https://www.yiibai.com/pandas/python_pandas_iteration.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容