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 在系列对象中出现了多次,而其余值仅出现了一次。

