如何在Polars中模拟Pandas的duplicated方法行为?
在Polars中实现与Pandas
duplicated() 一致的行为 Pandas的duplicated()方法仅标记重复值中首次出现之后的条目,而Polars默认的is_duplicated()会把所有重复的条目都标记为True。要实现和Pandas一致的行为,有两种可行方式:
方法一:直接使用Polars的duplicated()方法
Polars在较新版本中内置了duplicated()方法,其默认行为与Pandas完全对齐,只会标记非首次出现的重复项:
import polars as pl s = pl.Series([1, 2, 2, 3]) print(s.duplicated())
输出结果:
shape: (4,) Series: '' [bool] [ false false true false ]
方法二:分组结合is_first()(兼容旧版本Polars)
如果你的Polars版本未提供duplicated()方法,可以通过分组后标记非首次出现的条目来实现:
import polars as pl s = pl.Series([1, 2, 2, 3]) # 按值分组,标记每组内的首次条目,再取反得到重复项 result = s.group_by(s).agg(pl.col("").is_first()).explode("") print(result)
输出结果与上述一致:
shape: (4,) Series: '' [bool] [ false false true false ]
内容的提问来源于stack exchange,提问作者ignoring_gravity
相关产品推荐
相关产品推荐

