删除 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中文网其他相关文章!