首页 >后端开发 >Python教程 >如何删除 Pandas 中的连续重复项?

如何删除 Pandas 中的连续重复项?

Barbara Streisand
Barbara Streisand原创
2024-11-15 04:09:02204浏览

How to Remove Consecutive Duplicates in Pandas?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn