📅  最后修改于: 2023-12-03 14:55:39.614000             🧑  作者: Mango
如果您需要在数据框中查找重复行,可以使用duplicated()
函数来帮助您完成。duplicated()
函数可以检查数据框的每一行是否与前面的行重复。如果有任何重复行,它会返回 True
。下面是一个示例:
import pandas as pd
# 创建一个数据框
df = pd.DataFrame({
'name': ['Tom', 'Jerry', 'Mike', 'Tom'],
'age': [22, 23, 24, 22],
'gender': ['M', 'M', 'M', 'M']
})
# 查找重复行
duplicate_rows = df.duplicated()
print(duplicate_rows)
这段代码将返回一个布尔值的列表,用于指示每一行是否已经出现过:
0 False
1 False
2 False
3 True
在这个例子中,第四行重复了。但是有时候我们希望在特定的列中查找重复行,而不是整个数据框。为了这样做,我们可以使用 subset
参数来指定要查找的列。下面是一个例子:
import pandas as pd
# 创建一个数据框
df = pd.DataFrame({
'name': ['Tom', 'Jerry', 'Mike', 'Tom'],
'age': [22, 23, 24, 22],
'gender': ['M', 'M', 'M', 'M']
})
# 在 name 和 age 列中查找重复行
duplicate_rows = df.duplicated(subset=['name', 'age'])
print(duplicate_rows)
这段代码将返回:
0 False
1 False
2 False
3 True
dtype: bool
这个例子中,我们只在 name
和 age
列中查找重复行。结果与前一个例子相同,因为前四行都包含相同的 name
和 age
值。
如果您需要查找重复行的数量,可以使用以下代码:
import pandas as pd
# 创建一个数据框
df = pd.DataFrame({
'name': ['Tom', 'Jerry', 'Mike', 'Tom'],
'age': [22, 23, 24, 22],
'gender': ['M', 'M', 'M', 'M']
})
# 在 name 和 age 列中查找重复行的数量
num_duplicate_rows = len(df[df.duplicated(subset=['name', 'age'])])
print(num_duplicate_rows)
这段代码将返回:
1
这个例子中,我们只在 name
和 age
列中查找重复行,并计算了重复行的数量(即结果中 True
的数量)。结果为 1,因为只有一行数据是重复的。
总之,使用 duplicated()
函数,您可以方便地在数据框中查找重复行。通过设置 subset
参数,您可以指定要考虑重复的列。最终,您可以计算重复行的数量,以便更好地理解您的数据。