- Python+Office:轻松实现Python办公自动化
- 王国平
- 626字
- 2025-02-18 05:44:26
4.1 重复值的处理
4.1.1 Excel重复值的处理
Excel是处理数据时使用比较频繁的软件之一,有时我们需要删除重复数据,只保留一条数据,这时最简单的方法就是使用Excel自带的“删除重复值”功能。
具体操作如下:首先选择全部数据,然后单击“数据”选项卡中的“删除重复值”按钮,弹出“删除重复值”对话框,如图4-1所示。单击“确定”按钮,Excel会删除所有重复数据,并弹出提示信息对话框,再单击“确定”按钮即可。

图4-1 “删除重复值”对话框
4.1.2 Python重复值的检测
在介绍使用Pandas库处理重复数据之前,先创建一个关于4名学生学习成绩的数据集,代码如下:

运行上述代码,创建的数据集如下所示。

索引的is_unique属性可以判断它的值是否是唯一的,代码如下:

代码输出结果如下所示。

判断重复数据记录,duplicated()函数的返回值是一个布尔型,表示各行是否是重复行,代码如下:

代码输出结果如下所示。

4.1.3 Python重复值的处理
下面删除数据集中数值相同的记录,代码如下:

代码输出结果如下所示。

在默认情况下,会判断全部列,也可以指定某一列或几列。例如,我们需要删除数据记录中某列数值相同的记录,代码如下:

代码输出结果如下所示。

还可以删除数据记录中某几列数值相同的记录,代码如下:

代码输出结果如下所示。

duplicated()函数和drop_duplicates()函数默认保留的是第一次出现的值,但是也可以通过设置参数keep='last',保留最后一次出现的值,代码如下:

代码输出结果如下所示。

例如,删除score数据集中李四考试成绩中的重复值,并保留最后一次出现的值,由于数学和化学的成绩都是90分,所以只保留化学成绩,代码如下:

代码输出结果如下所示。
