drop_duplicate方法是对DataFrame格式的数据,去除特定列下面的重复行。返回DataFrame格式的数据

df.drop_duplicates(keep= , subset=[], inplace= )

keep: {‘first’, ‘last’, False},默认为’first’
保留项。保留第一个(first)/最后一个(last)/不保留(False)重复的项
subset:默认所有列
指定的列。即需要删除哪些列中重复的项,列用’'说明,用,隔开
inplace : {‘True’,‘False’},默认为False
是否在原数据上修改。False表示另存一个副本

下面以例子来说明:
新建一个表格示例数据如下
在这里插入图片描述

1.删除重复行

删除type中重复的项,并保留第一次出现的数据

df.drop_duplicates(keep='first', subset=['type'])

在这里插入图片描述

删除month和type中同时重复的项,并保留最后一次出现的数据

df.drop_duplicates(keep='last', subset=['type', 'month'])

在这里插入图片描述

2.保留不重复行

保留id只出现过一次的数据

df.drop_duplicates(keep=False, subset=['id'])

在这里插入图片描述

3.保留重复行

保留id重复的数据

首先将2中不重复的数据保存,再从原始数据中删除2的数据

#  只出现一次的元素
output1 = df.drop_duplicates(keep=False, subset=['id'])
output1.to_csv('E:\\output1.csv', encoding='utf-8-sig', index=True)

output2 = df
#  删除output1中的元素
for i in range(0, len(output1)):
    output2.drop([output1.index[i]], inplace=True)
output2.to_csv('E:\\output2.csv', encoding='utf-8-sig', index=False)

在这里插入图片描述

完整代码
import pandas as pd

beer = pd.read_csv("E:\\test.csv", encoding='utf-8-sig', low_memory=False)
df = pd.DataFrame(beer)

output1 = df.drop_duplicates(...)
output1.to_csv('E:\\output1.csv', encoding='utf-8-sig', index=True)

output2 = df
for i in range(0, len(output1)):
    output2.drop([output1.index[i]], inplace=True)
output2.to_csv('E:\\output2.csv', encoding='utf-8-sig', index=False)
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐