赞
踩
目录
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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。