在获取数据的时候经常会有一些重复的数据,而重复的数据会对统计结果产生影响,也会误导决策人员的决策。
数据源还是使用前面把一份文件分成多份文件的数据。
数据源
要查询是否存在重复值可以使用duplicated()函数:
查询面积是否有相同(重复)值
返回的是一组bool值,这些bool值能够用于筛选非重复值或者重复值。
需要注意的是duplicated()如果不指定面积这个变量的话,那么其将会对所以列进行对比,只有每一列的值都一样时才会标记为重复值。
我们可以尝试着筛选出存在重复值的行:
筛选出重复值
筛选出的数据的信息
筛选出非重复值的行:
非重复值的行
当然了,我们有时候也许会想要选择两个列当中都是重复的值的数据,这个时候就需要选择两列同时作为依据进行筛选了。
选择两列共同的重复值
还有一个常用的场景就是当我们选择出重复值之后,想要保留的是第一个还是最后一个呢?
不知道keep='last'
指定keep='last'
由上图可知,keep='last'参数就是让系统从后向前开始筛选,这样索引小的重复行就会返回True。
以上所说的是duplicated函数,只是筛选出了重复值而已,并没有对重复值进行处理。
要对重复值进行处理就要使用drop_duplicates了,drop_duplicates的使用效率会高得多:
使用drop_duplicates
这样就把重复值都去掉了。