Pandas 系列中基於字典的高效值替換
透過字典取代pandas 系列中的值(s.replace(d))這是一項常見的任務,不幸的是,效率可能很低。本文研究了 s.replace 緩慢的原因,並探討了提高性能的替代方法。
s.replace 效率低下
s.replace 表現緩慢的主要原因是它處理邊緣情況和需要額外處理的罕見情況。這種開銷會顯著影響執行時間,尤其是對於大型資料集。
替代方法
要提高效能,如果所有序列值都滿足,請考慮使用 s.map(d)在字典鍵中找到。然而,該方法的適用性受到限制。或者,對於僅映射一小部分值的情況,請考慮以下方法之一:
一般情況:
很少值在字典中:
基準測試
基準測試證實了s.mapping 相對於s.replace 對於大型資料庫的效能優勢具有不同價值的資料集
說明
s.replace 的速度變慢歸因於其廣泛的處理,其中包括將字典轉換為列表、檢查嵌套字典和迭代通過鍵和值的列表。相比之下,s.map 更有效率,因為它專注於使用從字典的鍵到系列值的最佳化路徑進行直接值映射。
以上是Pandas `s.replace` 真的是替換系列中值的最佳方法嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!