Pandas

如何结合其他Pandas函数使用duplicated()进行数据处理

小樊
82
2024-09-12 18:35:56
栏目: 编程语言

duplicated() 是 Pandas 中的一个函数,用于检查 DataFrame 或 Series 中的重复项

  1. 删除重复行:

    使用 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')
    
  2. 根据特定列查找重复项:

    你可以使用 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)
    
  3. 根据多个列查找重复项:

    要根据多个列查找重复项,只需将这些列名作为列表传递给 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)
    
  4. 使用 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() 对数据进行处理。

0
看了该问题的人还看了