透過字典高效率地取代Pandas 系列中的值
經常透過字典取代Pandas 系列中的值(s.replace(d))遇到效能瓶頸,使其比列表理解方法慢得多。雖然 s.map(d) 提供了可接受的效能,但它僅適用於在字典鍵中找到所有系列值的情況。
了解效能差距
主要原因s.replace 緩慢的原因在於其多方面的功能。與 s.map 不同,它處理通常需要更細緻處理的邊緣情況和罕見情況。
最佳方式當所有值都可以映射時使用s.map(d)。
使用 s.map(d).fillna(s['A'] ).astype(int) 當超過 5% 的值可以對應。
字典中的幾個值:
基準測試結果
廣泛的測試證實了性能差異:s.replace:1.98 秒
s.map:84.3毫秒
列表理解:134 毫秒
部分映射:
解釋
s.replace 的緩慢源於其複雜的內部架構。它涉及:以上是為什麼 Pandas 系列 `s.replace` 透過字典替換值比 `s.map` 慢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!