Panda DataFrame 对象提供了一个数据去重的函数 drop_duplicates(),本节对该函数的用法做详细介绍。

格式介绍

drop_duplicates()函数的语法格式如下:

data.drop_duplicates(subset=['a','b','b'],keep='first',inplace=True)

参数说明如下:
subset:表示要进去重的列名,默认为 None。
keep:有三个可选参数,分别是 first、last、False,默认为 first,表示只保留第一次出现的重复项,删除其余重复项,last 表示只保留最后一次出现的重复项,False 则表示删除所有重复项。
inplace:布尔值参数,默认为 False 表示删除重复项后返回一个副本,若为 Ture 则表示直接在原数据上删除重复项。

示例数据

代码:

import pandas as pd
data = pd.DataFrame({
    'a':[2,1,1,1,1,1,2],
    'b':[1,3,2,4,1,1,5],
    'c':[1,3,2,4,1,1,3],
    'd':[1,3,2,4,1,1,8]
})
print (data)

打印结果
在这里插入图片描述

实际应用

1、默认保留第一次出现的重复项
代码:

import pandas as pd
data = pd.DataFrame({
    'a':[2,1,1,1,1,1,2],
    'b':[1,3,2,4,1,1,5],
    'c':[1,3,2,4,1,1,3],
    'd':[1,3,2,4,1,1,8]
})
data_del = data.drop_duplicates()
print (data_del)

打印结果
在这里插入图片描述
2、删除所有重复项
代码:

import pandas as pd
data = pd.DataFrame({
    'a':[2,1,1,1,1,1,2],
    'b':[1,3,2,4,1,1,5],
    'c':[1,3,2,4,1,1,3],
    'd':[1,3,2,4,1,1,8]
})
data_del = data.drop_duplicates(keep=False)
print (data_del)

打印结果
在这里插入图片描述
3、根据指定列标签去重
代码:

import pandas as pd
data = pd.DataFrame({
    'a':[2,1,1,1,1,1,2],
    'b':[1,3,2,4,1,1,5],
    'c':[1,3,2,4,1,1,3],
    'd':[1,3,2,4,1,1,8]
})
data_del = data.drop_duplicates(subset=['b'],keep=False)
print (data_del)

打印结果
在这里插入图片描述
4、指定多列同时去重
代码:

import pandas as pd
data = pd.DataFrame({
    'a':[2,1,1,1,1,1,2],
    'b':[1,3,2,4,1,1,5],
    'c':[1,3,2,4,1,1,3],
    'd':[1,3,2,4,1,1,8]
})
data_del = data.drop_duplicates(subset=['b','c'],keep=False)
print (data_del)

打印结果
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐