16、pandas的duplicated和drop_duplicaates函数

在获取数据的时候经常会有一些重复的数据,而重复的数据会对统计结果产生影响,也会误导决策人员的决策。

数据源还是使用前面把一份文件分成多份文件的数据。

16、pandas的duplicated和drop_duplicaates函数_第1张图片
数据源

要查询是否存在重复值可以使用duplicated()函数:

16、pandas的duplicated和drop_duplicaates函数_第2张图片
查询面积是否有相同(重复)值

返回的是一组bool值,这些bool值能够用于筛选非重复值或者重复值。

需要注意的是duplicated()如果不指定面积这个变量的话,那么其将会对所以列进行对比,只有每一列的值都一样时才会标记为重复值。

我们可以尝试着筛选出存在重复值的行:

16、pandas的duplicated和drop_duplicaates函数_第3张图片
筛选出重复值
16、pandas的duplicated和drop_duplicaates函数_第4张图片
筛选出的数据的信息

筛选出非重复值的行:

16、pandas的duplicated和drop_duplicaates函数_第5张图片
非重复值的行

当然了,我们有时候也许会想要选择两个列当中都是重复的值的数据,这个时候就需要选择两列同时作为依据进行筛选了。

16、pandas的duplicated和drop_duplicaates函数_第6张图片
选择两列共同的重复值

还有一个常用的场景就是当我们选择出重复值之后,想要保留的是第一个还是最后一个呢?

16、pandas的duplicated和drop_duplicaates函数_第7张图片
不知道keep='last'
16、pandas的duplicated和drop_duplicaates函数_第8张图片
指定keep='last'

由上图可知,keep='last'参数就是让系统从后向前开始筛选,这样索引小的重复行就会返回True。

以上所说的是duplicated函数,只是筛选出了重复值而已,并没有对重复值进行处理。

要对重复值进行处理就要使用drop_duplicates了,drop_duplicates的使用效率会高得多:

16、pandas的duplicated和drop_duplicaates函数_第9张图片
使用drop_duplicates

这样就把重复值都去掉了。

你可能感兴趣的:(16、pandas的duplicated和drop_duplicaates函数)