Python-drop_duplicates

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)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值