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 对象中出现多次,其余值只出现一次。
广告