何時不在 Pandas 程式碼中使用 apply()
此綜合分析探討了在 Pandas 程式碼中使用 apply() 函數的優缺點。 p>
瞭解apply() Function
apply() 是一個方便的函數,可讓您將使用者定義的函數應用於DataFrame 的每一行或每一列。然而,它也存在局限性和潛在的性能問題。
避免apply()
- 效能問題:apply() 迭代地應用使用者定義的函數,導致嚴重的效能瓶頸。向量化替代方案或列表推導式通常更快。
- 冗餘行或列執行:在某些情況下,apply() 會執行用戶定義的函數兩次,一次是為了檢查副作用並一次應用該功能
- 簡單操作效率低:許多內建的Pandas 函數,例如sum() 和max(),執行操作的速度比apply() 快得多對於簡單任務。
何時考慮使用apply()
雖然通常應避免apply(),但在某些特定情況下它可能是可接受的選項:
- 系列的向量化函數,但不是DataFrames:當函數針對系列進行向量化但不是時DataFrames,apply() 可用來將函數套用到多個欄位。
- 合併 GroupBy 操作:要將多個轉換組合在單一 GroupBy 操作中,apply( ) 可用於 GroupBy 物件。
- 將Series 轉換為字串:令人驚訝的是,當將Series 中的整數轉換為資料大小低於215 的字串時,apply() 比astype() 更快。
程式碼提示重構
要減少apply() 的使用並提高程式碼效能,請考慮以下技術: p>
- 向量化操作:在任何地方使用Pandas 或numpy中可用的向量化函數可能。
- 利用列表推導式:對於標量操作,列表推導式提供了比 apply() 更快的替代方案。
- 利用 Pandas 內建函數:利用最佳化的 Pandas 函數來執行 sum() 和 max() 等常見操作。
-
謹慎使用自訂Lambda:如果在apply() 中使用自訂lambda,則傳遞它們作為列表推導式或向量化函數的參數以避免重複
應用這些技術將顯著加快程式碼執行速度並提高整體效能。
結論< ;/h2>
雖然 apply() 是一個方便的函數,但應謹慎使用。了解 apply() 的限制和效能影響對於編寫高效且可擴展的 Pandas 程式碼至關重要。
以上是我什麼時候應該避免使用 Pandas 的 `apply()` 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

本文解釋瞭如何使用美麗的湯庫來解析html。 它詳細介紹了常見方法,例如find(),find_all(),select()和get_text(),以用於數據提取,處理不同的HTML結構和錯誤以及替代方案(SEL)

Python 對象的序列化和反序列化是任何非平凡程序的關鍵方面。如果您將某些內容保存到 Python 文件中,如果您讀取配置文件,或者如果您響應 HTTP 請求,您都會進行對象序列化和反序列化。 從某種意義上說,序列化和反序列化是世界上最無聊的事情。誰會在乎所有這些格式和協議?您想持久化或流式傳輸一些 Python 對象,並在以後完整地取回它們。 這是一種在概念層面上看待世界的好方法。但是,在實際層面上,您選擇的序列化方案、格式或協議可能會決定程序運行的速度、安全性、維護狀態的自由度以及與其他系

本文比較了Tensorflow和Pytorch的深度學習。 它詳細介紹了所涉及的步驟:數據準備,模型構建,培訓,評估和部署。 框架之間的關鍵差異,特別是關於計算刻度的

Python的statistics模塊提供強大的數據統計分析功能,幫助我們快速理解數據整體特徵,例如生物統計學和商業分析等領域。無需逐個查看數據點,只需查看均值或方差等統計量,即可發現原始數據中可能被忽略的趨勢和特徵,並更輕鬆、有效地比較大型數據集。 本教程將介紹如何計算平均值和衡量數據集的離散程度。除非另有說明,本模塊中的所有函數都支持使用mean()函數計算平均值,而非簡單的求和平均。 也可使用浮點數。 import random import statistics from fracti

該教程建立在先前對美麗湯的介紹基礎上,重點是簡單的樹導航之外的DOM操縱。 我們將探索有效的搜索方法和技術,以修改HTML結構。 一種常見的DOM搜索方法是EX

本文討論了諸如Numpy,Pandas,Matplotlib,Scikit-Learn,Tensorflow,Tensorflow,Django,Blask和請求等流行的Python庫,並詳細介紹了它們在科學計算,數據分析,可視化,機器學習,網絡開發和H中的用途

本文指導Python開發人員構建命令行界面(CLIS)。 它使用Typer,Click和ArgParse等庫詳細介紹,強調輸入/輸出處理,並促進用戶友好的設計模式,以提高CLI可用性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具