📌  相关文章
📜  计算一列 pandas 中的重复项 - Python (1)

📅  最后修改于: 2023-12-03 15:12:00.554000             🧑  作者: Mango

计算一列 pandas 中的重复项 - Python

简介

在数据分析和处理中,我们经常需要计算并删除数据中的重复项以保证分析结果准确性。在 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 参数设置为需要去重的列名。