首頁 > 後端開發 > Python教學 > 為什麼逐行填充 Pandas DataFrame 效率低下,什麼是更好的方法?

為什麼逐行填充 Pandas DataFrame 效率低下,什麼是更好的方法?

Mary-Kate Olsen
發布: 2024-11-30 10:14:11
原創
739 人瀏覽過

Why is Populating a Pandas DataFrame Row-by-Row Inefficient, and What's a Better Approach?

創建並填充一個空的Pandas DataFrame

從概念上講,人們可能希望首先創建一個空的DataFrame,然後逐步用值填充它。然而,這種方法效率低下,並且容易導致效能問題。

按行增長 DataFrame 的陷阱

迭代地將行追加到空 DataFrame 的計算成本很高。由於需要動態記憶體分配和重新分配,它會導致二次複雜度操作。這可能會嚴重影響效能,尤其是在處理大型資料集時。

另一種方法:在清單中累積資料

它不是按行增長 DataFrame,而是建議將資料累積在清單中。這有幾個優點:

  • 效率更高,速度更快。
  • 與 DataFrame 相比,清單的記憶體佔用量較小。
  • 資料型別會自動推斷,無需手動調整。
  • 列表支援追加操作而不改變記憶體

從列表創建DataFrame

一旦列表中積累了數據,就可以通過使用pd 轉換清單來輕鬆建立DataFrame .DataFrame()。這可確保正確的資料類型推斷並自動為 DataFrame 設定 RangeIndex。

範例

考慮問題中所描述的場景。以下程式碼示範如何在清單中累積數據,然後建立DataFrame:

這種方法可確保高效的資料累積和無縫的DataFrame 創建,而無需任何效能開銷或物件列的擔憂。

以上是為什麼逐行填充 Pandas DataFrame 效率低下,什麼是更好的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板