Pandas 如何统计Pandas数据框中重复的行
在本文中,我们将介绍如何使用Pandas库统计Pandas数据框中的重复行。
阅读更多:Pandas 教程
准备数据
让我们先创建一个示例数据集:
import pandas as pd
data = {'name': ['John', 'Jack', 'Tom', 'John'], 'age': [25, 30, 18, 25]}
df = pd.DataFrame(data)
这将创建一个包含4行和2列的数据集,其中包含了一些重复行。在这个数据集中,第1行和第4行是重复的,因为它们都包含了名字为“John”的个人信息。
统计重复行
要统计重复行,我们可以使用Pandas中的duplicated()
函数。该函数返回一个布尔值的数据框,表示每行是否是重复行。默认情况下,该函数假定重复行被标记为True。
# 统计重复行
duplicated_rows = df.duplicated()
print(duplicated_rows)
该代码将返回以下结果:
0 False
1 False
2 False
3 True
dtype: bool
我们可以看到,第1行、第2行、第3行被标记为False,表示它们不是重复的,而第4行被标记为True,表示它是一个重复的行。
要统计重复行的数量,我们可以使用sum()
函数。 在上面的示例中,重复的行是第4行,因此重复的行数为1。
# 统计重复行的数量
num_of_duplicate_rows = duplicated_rows.sum()
print(num_of_duplicate_rows)
该代码将返回以下结果:
1
删除重复行
删除重复行的方法很简单。我们可以使用drop_duplicates()
函数来删除重复行。 该函数返回一个新的数据框,其中包含去除重复行后的结果。默认情况下, drop_duplicates()
函数将删除所有重复的行,仅保留第一个重复行。
# 删除重复行
df = df.drop_duplicates()
print(df)
该代码将返回以下结果:
name age
0 John 25
1 Jack 30
2 Tom 18
我们可以看到,前面的数据集中有两个名称为“John”的行,但现在只剩下一个了。
我们可以在drop_duplicates()
函数中使用一些可选参数进行高级数据处理。例如,我们可以使用keep
参数来指定在删除重复行时保留哪一个行。以下代码演示了如何删除所有重复的行,仅保留最后一个重复行。
# 仅保留最后一个重复行
df = pd.DataFrame(data)
df = df.drop_duplicates(keep='last')
print(df)
结果是:
name age
1 Jack 30
2 Tom 18
3 John 25
总结
在本文中,我们介绍了如何使用duplicated()
函数和drop_duplicates()
函数在Pandas数据框中统计和删除重复行。这些技术是数据清洗和分析的基础。我们希望这篇文章能够帮助您更好地理解Pandas数据框的基本操作。