python pandas dataframe 去重函数的具体使用

今天笔者想对pandas中的行进行去重操作,找了好久,才找到相关的函数

先看一个小例子

from pandas import Series, DataFrame
 
data = DataFrame({'k': [1, 1, 2, 2]})
 
print data
 
IsDuplicated = data.duplicated()
 
print IsDuplicated
print type(IsDuplicated)
 
data = data.drop_duplicates()
print data

执行结果是:

   k
0  1
1  1
2  2
3  2

0    False
1     True
2    False
3     True

   k
0  1
2  2

DataFrame的duplicated方法返回一个布尔型Series,表示各行是否重复行。

而 drop_duplicates方法,它用于返回一个移除了重复行的DataFrame

这两个方法会判断全部列,你也可以指定部分列进行重复项判段。

drop_duplicates根据数据的不同情况及处理数据的不同需求,通常会分为两种情况,一种是去除完全重复的行数据,另一种是去除某几列重复的行数据,就这两种情况可用下面的代码进行处理。

1. 去除完全重复的行数据

data.drop_duplicates(inplace=True)

2. 去除某几列重复的行数据

data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
  • subset: 列名,可选,默认为None
    • keep: {‘first', ‘last', False}, 默认值 ‘first'
    • first: 保留第一次出现的重复行,删除后面的重复行。
    • last: 删除重复项,除了最后一次出现。
  • False: 删除所有重复项。
  • inplace:布尔值,默认为False,是否直接在原数据上删除重复项或删除重复项后返回副本。(inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。)

例如,希望对名字为k2的列进行去重,

data.drop_duplicates(['k2'])

到此这篇关于python pandas dataframe 去重函数的具体使用的文章就介绍到这了,更多相关python pandas dataframe 去重函数内容请搜索呐喊教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持呐喊教程!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。