duplicated()
是 Pandas 中的一个函数,用于检查 DataFrame 或 Series 中的重复项
删除重复行:
使用 drop_duplicates()
函数可以直接删除 DataFrame 中的重复行。这个函数会返回一个新的 DataFrame,其中不包含重复项。你可以选择只保留第一次出现的重复项,或者只保留最后一次出现的重复项。
import pandas as pd
# 创建一个包含重复数据的 DataFrame
data = {'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}
df = pd.DataFrame(data)
# 删除重复行,只保留第一次出现的重复项
df_no_duplicates = df.drop_duplicates()
# 删除重复行,只保留最后一次出现的重复项
df_no_duplicates_last = df.drop_duplicates(keep='last')
根据特定列查找重复项:
你可以使用 duplicated()
函数来查找 DataFrame 中特定列的重复项。例如,如果你想要找到列 ‘A’ 中的重复值,可以这样做:
import pandas as pd
# 创建一个包含重复数据的 DataFrame
data = {'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}
df = pd.DataFrame(data)
# 查找列 'A' 中的重复项
duplicates = df.duplicated(subset=['A'])
# 打印重复项的布尔值
print(duplicates)
根据多个列查找重复项:
要根据多个列查找重复项,只需将这些列名作为列表传递给 duplicated()
函数的 subset
参数。例如,如果你想要找到同时在列 ‘A’ 和 ‘B’ 中有重复值的行,可以这样做:
import pandas as pd
# 创建一个包含重复数据的 DataFrame
data = {'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}
df = pd.DataFrame(data)
# 查找列 'A' 和 'B' 中的重复项
duplicates = df.duplicated(subset=['A', 'B'])
# 打印重复项的布尔值
print(duplicates)
使用 duplicated()
结果进行筛选:
你可以将 duplicated()
函数的结果与布尔索引结合起来,以仅选择重复的行或非重复的行。例如,要选择所有重复的行,可以这样做:
import pandas as pd
# 创建一个包含重复数据的 DataFrame
data = {'A': [1, 2, 2, 3], 'B': [4, 5, 5, 6]}
df = pd.DataFrame(data)
# 查找重复项
duplicates = df.duplicated()
# 选择重复的行
duplicate_rows = df[duplicates]
# 打印重复的行
print(duplicate_rows)
通过结合 Pandas 的其他函数,你可以轻松地使用 duplicated()
对数据进行处理。