假設你有一個超級英雄的清單(命名為 heroes),以及每位英雄的身高(公分)和體重(公斤),分別以 NumPy 陣列載入(命名為 hts 和 wts)。你也有一個 convert_units() 函式,已儲存在名為 hero_funcs.py 的檔案中。
heroes
hts
wts
convert_units()
hero_funcs.py
你若想看到 convert_units() 的逐行記憶體使用量,為了剖析這個函式在超級英雄資料上的表現,需要依序執行哪些步驟?
本練習屬於課程
將理論付諸實踐,立即體驗我們的互動練習
在本章中,你會了解撰寫高效 Python 程式碼的意義。你將探索 Python Standard Library,認識 NumPy 陣列,並練習使用部分 Python 內建工具。本章將為後續主題打下基礎。
在本章中,你會學到如何收集並比較不同寫法的執行時間。你將練習使用 line_profiler 與 memory_profiler 套件,為你的程式碼做剖析並找出瓶頸。然後,你會把所學付諸實作,以高效的 Python 寫法取代這些瓶頸。
當前練習
本章涵蓋更進一步的效率技巧。你會認識幾個有助於撰寫高效程式的實用內建模組,並練習使用集合論。接著,你會學到 Python 中的各種迴圈模式,以及如何讓它們更有效率。
本章將簡要介紹如何高效處理 pandas DataFrame。你會學到在 DataFrame 上進行走訪的多種方式。接著,你會了解如何有效率地把函式套用到 DataFrame 中的資料。