python:删掉重复行之drop

目录

一、基本用法

二。示例


drop_duplicates()是Pandas中一个非常实用的方法,用于从DataFrame或Series中删除重复的行或值,只保留第一次出现的记录。

一、基本用法

它的基本语法如下:

DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)
  • subset:可选参数,指定考虑哪些列来判断重复,默认为所有列。你可以传入一列或多列的列名列表(作为字符串列表)来确定重复性。

  • keep:可选参数,决定如何处理重复项。

    • 'first'(默认):保留每个重复组中的第一个出现的行。
    • 'last':保留每个重复组中的最后一个出现的行。
    • False:删除所有重复的行。
  • inplace:可选参数,如果设置为True,则直接在原DataFrame上进行修改,不返回新的DataFrame。

    二。示例

    import pandas as pd
    data = {'Name': ['Alex', 'Bob', 'Clarke', 'Alex', 'Bob'],
            'Age': [25, 30, 22, 25, 30],
            'City': ['NY', 'LA', 'SF', 'NY', 'LA']}
    df = pd.DataFrame(data)
    print("Original DataFrame:")
    print(df)

     

    如果我们想删除所有重复的行(基于所有列),可以这样做:

    df_unique = df.drop_duplicates()
    print("\nDataFrame after removing duplicates (all columns):")
    print(df_unique)

     

    如果我们只想根据'Name'和'Age'列来判断重复,并保留每个重复组的第一个出现:

    df_unique_subset = df.drop_duplicates(subset=['Name', 'Age'])
    print("\nDataFrame after removing duplicates (Name and Age columns):")
    print(df_unique_subset)

     

     如果希望删除所有重复,不保留任何重复行:

    df_remove_all_duplicates = df.drop_duplicates(keep=False)
    print("\nDataFrame after removing all duplicates:")
    print(df_remove_all_duplicates)