📅  最后修改于: 2023-12-03 15:12:00.554000             🧑  作者: Mango
在数据分析和处理中,我们经常需要计算并删除数据中的重复项以保证分析结果准确性。在 Pandas 中,可以使用 duplicated()
和 drop_duplicates()
函数来计算和删除重复项。
duplicated()
函数返回一个包含布尔值的 Series,表示每个元素是否为重复项。drop_duplicates()
函数返回一个去除重复项后的新 DataFrame。
下面是一个例子,演示如何计算一列 pandas 中的重复项。
首先,我们需要创建一个包含重复项的 Series:
import pandas as pd
data = pd.Series([1, 2, 3, 2, 1, 4, 5, 4, 6, 7, 7])
接着,使用 duplicated()
函数计算重复项:
duplicated_data = data.duplicated()
print(duplicated_data)
运行结果如下:
0 False
1 False
2 False
3 True
4 True
5 False
6 True
7 True
8 False
9 True
10 True
dtype: bool
由于 Series 中的第 4、5、7、8、9、10 个元素是重复项,因此对应位置的值为 True。
有了 duplicated()
函数的结果,我们就可以使用 drop_duplicates()
函数来删除重复项了:
unique_data = data.drop_duplicates()
print(unique_data)
运行结果如下:
0 1
1 2
2 3
5 4
8 6
9 7
dtype: int64
上面的代码会返回一个新的 Series,其中的重复项被删除了。
如果你想要删除整个 DataFrame 中的重复行,可以在调用 drop_duplicates()
函数时指定 subset
参数,例如:
dataframe.drop_duplicates(subset=['column_name'])
这样,将只根据指定的列名去重,并返回一个新的 DataFrame。
在 Pandas 中,计算和删除重复项非常简单。使用 duplicated()
函数可以计算重复项,使用 drop_duplicates()
函数可以删除重复项。在实际应用中,我们常常需要对整个 DataFrame 进行去重操作,此时可以将 drop_duplicates()
函数的 subset
参数设置为需要去重的列名。