数据去重的各种方法汇总(三)

  • Pandas去重DataFrame
    接上篇,这篇就剩最后的用Pandas对DataFrame里面的数据去重,这里也有两种方法,可以直接看官方文档(但是掌柜觉得其实就是一种方法,因为第一种只是显示哪些重复。。。)
  1. 使用duplicated方法,它会返回一个布尔向量,其长度为行数,表示行是否重复,但是并不会删除重复数据。来看实例:
import pandas as pd
import numpy as np

df2 = pd.DataFrame({
   'a': ['one', 'one', 'two', 'two', 'two', 'three', 'four'],
                    'b': ['x', 'y', 'x', 'y', 'x', 'x', 'x'],'c': np.random.randn(7)})

df2

然后会得到这样一个表格:

现在使用duplicated方法:

df2.duplicated('a')

会得到这样的结果:

你看,他只是告诉你哪行是重复的数据(True值得就是),但是并没有删除重复数据。当然该方法里面还有一个可选的keep参数,可以设置重复数据的显示规则,具体请看官方文档,掌柜就不多做叙述,下面继续看第二种方法。

  1. 使用 drop_duplicates方法,它才是去除重复数据。还是上面的例子,我们使用这个方法:
df2.drop_duplicates('a')

就会得到去重后的数据:

是不是也很简单?😁当然他也有同样的可选参数keep来设置去除重复数据的规则,比如下面这样,保留最后重复的数据,去除前面的重复数据:

然后要去重多列只需要把含有重复数据的列写成列表的形式即可。

PS: Pandas还可以根据索引来去重,具体操作可以看下面这个实例:

使用的是Index.duplicated方法,这里要注意的是如果只是写df3.index.duplicated()方法,返回的是类似解法一的结果,并不去重数据;要像下面这样以切片的形式来写,注意中括号里面的最前面是有个波浪线的才会去重:

df3[~df3.index.duplicated()]


好了,不同工具对数据进行去重的方法掌柜已经总结完毕,希望对大家有用🧐。

全部评论

相关推荐

2025-12-01 15:04
吉首大学 后端工程师
冲鸭2024:亚信不去也罢
投递亚信科技(中国)有限公司等公司8个岗位
点赞 评论 收藏
分享
2025-11-13 14:37
门头沟学院 Java
程序员牛肉:是的,我觉得你最先需要的是多接触计算机圈子。我感觉你这个写的太幼稚了,根本没换位思考面试官。 你对实习的描述还是我写了前后端,我写了Restful接口,我用了EChatrs。你这让面试官怎么问你?问你什么是前后端?问你什么是Restful?讲真的兄弟,你这个简历在面试官眼里就是啥也不懂的好学生。所以一定要尽快加入一个圈子跟大家多聊聊,看看正儿八经的简历是怎么写的。 可以看一下我首页的简历怎么写那篇文章来学一下,你这里面的坑点我那篇文章里面都有讲过。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务