Pandas 中的 drop_duplicates()详解
作者:红水母
Pandas 中的 drop_duplicates()
Pandas 中的 drop_duplicates() 函数用于从 DataFrame 中删除重复的行。该函数有一些参数,允许你进行不同方式的重复行处理。以下是 drop_duplicates() 函数的主要参数解析:
subset(可选参数):
作用:指定要考虑重复的列。
默认值:None,表示考虑整个行的重复。
示例:df.drop_duplicates(subset=[‘column1’, ‘column2’])
keep(可选参数):
作用:指定保留哪些重复行。
可选值:‘first’:保留第一次出现的重复行(默认值)。
‘last’:保留最后一次出现的重复行。
False:删除所有重复行,不保留任何重复行。示例:df.drop_duplicates(keep=‘last’)
inplace(可选参数):
作用:如果设置为 True,将在原始 DataFrame 上执行删除操作,不返回新的 DataFrame。
默认值:False,表示返回一个新的 DataFrame,原始 DataFrame 不受影响。
示例:df.drop_duplicates(inplace=True)
ignore_index(可选参数):
作用:如果设置为 True,删除后的 DataFrame 将重新索引,以便索引从零开始。
默认值:False。
示例:df.drop_duplicates(ignore_index=True)
subset 和 keep 参数的组合:
通常,subset 参数用于指定要考虑重复的列,而 keep 参数用于控制保留哪些重复行。例如,df.drop_duplicates(subset=[‘column1’, ‘column2’], keep=‘last’) 表示在 ‘column1’ 和 ‘column2’ 列上考虑重复,但保留最后一次出现的重复行。
drop_duplicates() 函数通常用于数据清洗,以删除数据中的重复记录,以便进行分析或建模。
你可以根据具体的需求使用不同的参数组合来执行不同的重复行处理操作。
补充:
Pandas-去重函数drop_duplicates()详解
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)
打印结果
到此这篇关于Pandas 中的 drop_duplicates()的文章就介绍到这了,更多相关Pandas drop_duplicates()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!