Pandas 中 series.duplicated() 方法的用途是什么?

pandasserver side programmingprogramming更新于 2025/10/12 5:22:17

在数据分析过程中,查找对象中的重复值是一项非常常见的任务。Pandas 中有一个名为 duplicated() 的函数,用于识别重复值。

对于 Pandas 系列对象,duplicated() 方法将返回一个包含布尔值的系列。True 表示仅最后一次出现的值或第一次出现的值存在重复值,或者表示所有重复值都存在重复值。

duplicated() 方法有一个名为"keep"的参数,用于对重复值进行不同的处理。此参数的默认行为是"first",这意味着它将除第一次出现的值之外的所有重复值标记为 True。我们可以将其改为 last 并设置为 False,以标记所有出现的位置。

示例 1

在下面的示例中,我们创建了一个包含字符串列表的 Pandas 系列,之后,我们在不更改默认参数的情况下应用了 duplicated() 方法。

# 导入所需包
import pandas as pd

# 创建 Pandas 系列对象
series = pd.Series(['A', 'B', 'E', 'C', 'A', 'E'])
print(series)

# 应用 duplicated() 方法
print("Output:",series.duplicated())

输出

输出如下 −

0    A
1    B
2    E
3    C
4    A
5    E
dtype: object

Output:
0    False
1    False
2    False
3    False
4     True
5     True
dtype: bool

duplicated() 方法返回一个包含布尔值的新 Series 对象。索引位置 4 和 5 处的值被标记为 True,因为 A 和 E 先前出现过,其余值均只出现过一次。

示例 2

在下面的示例中,我们在 keep 参数中指定了 last 值,用于在第一次出现时识别重复值。

# 导入所需包
import pandas as pd

# 创建 pandas Series 对象
series = pd.Series([90,54,43,90,28,43,67])
print(series)

# 应用 duplicated() 方法
print("Output:",series.duplicated(keep='last'))

输出

输出如下所示 −

0    90
1    54
2    43
3    90
4    28
5    43
6    67
dtype: int64

Output:
0     True
1    False
2     True
3    False
4    False
5    False
6    False
dtype: bool

我们成功检测出给定系列对象中除最后一个出现的值之外的重复值。索引位置 0 和 2 处的值被标记为 True,因为 90 和 43 在系列对象中出现了多次,而其余值仅出现了一次。


相关文章