欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python-drop_duplicates

程序员文章站 2022-06-26 17:11:50
drop_duplicate方法是对DataFrame格式的数据,去除特定列下面的重复行。返回DataFrame格式的数据df.drop_duplicates(keep= , subset=[], inplace= )keep: {‘first’, ‘last’, False},默认为’first’保留项。保留第一个(first)/最后一个(last)/不保留(False)重复的项subset:默认所有列指定的列。即需要删除哪些列中重复的项,列用’'说明,用,隔开inplace : {‘Tru...

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

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

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

下面以例子来说明:
新建一个表格示例数据如下
Python-drop_duplicates

1.删除重复行

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

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

Python-drop_duplicates

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

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

Python-drop_duplicates

2.保留不重复行

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

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

Python-drop_duplicates

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)

Python-drop_duplicates

完整代码

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)

本文地址:https://blog.csdn.net/qq_42453890/article/details/110916950

相关标签: Python