Pandas DataFrame.drop_duplicates()删除重复值
山茶花开时。 人气:0语法
df.drop_duplicates(subset = None, keep = 'first', inplace = False, ignore_index = False)
参数
1.subset:指定的标签或标签序列,仅删除这些列重复值,默认情况为所有列
2.keep:确定要保留的重复值,有以下可选项:
first:保留第一次出现的重复值,默认
last:保留最后一次出现的重复值
False:删除所有重复值
3.inplace:是否生效
4.ignore_index:如果为True,则重新分配自然索引(0,1,…,n - 1)
# 删除重复值 DataFrame.drop_duplicates() import pandas as pd df = pd.DataFrame([['x','x',1],['x','x',1],['z','x',2]], columns = ['A','B','C']) # 删除重复行 res1 = df.drop_duplicates() # 删除指定列 res2 = df.drop_duplicates(subset = ['A']) # 保留最后一个 res3 = df.drop_duplicates(subset = ['A'], keep = 'last')
结果展示
df
res1
res2
res3
扩展:识别重复值
import pandas as pd df = pd.DataFrame({ 'studentID':['A001','A002','A003','A004','A005','A006','A006'], 'score':[100,93,94,96,93,95,95]}) # 识别重复值 duplicate_value = df[df.duplicated()]
df
由上图可知studentID为'A006'的记录有两条,我们可以使用duplicated()方法识别重复值,它返回的是布尔值结果(True:有重复值,False:无重复值)
duplicate_value
总结
加载全部内容