Pandas 中 series.duplicated() 方法有什么作用?


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

对于 Pandas series 对象,duplicated() 方法将返回一个包含布尔值的 series。True 仅指示重复值的最后出现或第一次出现,或者它可能指示所有重复值。

duplicated() 方法有一个名为“keep”的参数,用于以不同的方式处理重复值。此参数的默认行为是“first”,这意味着它将所有重复值标记为 True,除了第一次出现。我们可以将其更改为 last 和 False 以标记所有出现。

示例 1

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

# importing required packages
import pandas as pd

# creating pandas Series object
series = pd.Series(['A', 'B', 'E', 'C', 'A', 'E'])
print(series)

# apply duplicated() method
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

在下面的示例中,我们将值 last 传递给 keep 参数,以识别第一次出现的重复值。

# importing required packages
import pandas as pd

# creating pandas Series object
series = pd.Series([90,54,43,90,28,43,67])
print(series)

# apply duplicated() method
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

我们已成功检测到重复值,除了给定 series 对象中最后一次出现的重复值。索引位置 0 和 2 处的数值被标记为 True,因为 90 和 43 在 series 对象中出现多次,其余值只出现一次。

更新于:2022年3月7日

113 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告