目录
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)