刪除Pandas 中的連續重複項
雖然Pandas 的drop_duplicates() 方法可以有效消除所有重複值,但它無法辨識連續值出現的值。為了解決這個限制,有一些有效的方法可以選擇性地僅刪除連續的重複項。
一種方法使用移位函數將目前值與前一個值進行比較:
a.loc[a.shift() != a]
此邏輯傳回一個遮罩,其中連續重複項的特徵為 False 值。然後 loc 方法僅選擇具有 True 值的行,從而有效地刪除連續的重複項。
另一種方法是利用 diff函數來偵測變更:
a.loc[a.diff() != 0]
但是,這種方法效率較低對於大型資料集,由於與微分相關的開銷
更新
值得注意的是,預設的移位週期為1,因此shift()和shift(1)產生等效的結果:
a.loc[a.shift(1) != a]
這可確保第一個連續值被正確識別為重複值。
以上是如何刪除 Pandas 中的連續重複項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!