
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.4 数据的删除
Pandas库有3个用来删除数据的函数:drop()、drop_duplicates()、dropna()。其中drop()函数用于删除行或列中的数据,drop_duplicates()函数用于删除重复数据,dropna()函数用于删除空值。本节将会介绍如何删除一行或多行数据、一列或多列数据、指定的列表对象等,使用的数据文件为“2020年第二学期学生考试成绩.xls”。
3.4.1 删除一行或多行数据
在介绍如何用Pandas库删除数据之前,还是创建一个关于4名学生学习成绩的数据集,代码如下:

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

drop()函数默认删除行数据,参数是行索引。例如,删除一行数据,代码如下:

代码输出结果如下所示。

还可以删除几行连续和不连续的数据。例如,删除化学和生物的考试成绩,代码如下:

代码输出结果如下所示。

3.4.2 删除一列或多列数据
对于列数据的删除,可以通过设置参数axis=1实现(如果不设置参数axis,则drop()函数的参数默认为axis=0,即对行进行操作)。例如,删除1名学生的考试成绩,代码如下:

代码输出结果如下所示。

也可以通过设置axis='columns'实现删除列数据。例如,删除两名学生的考试成绩,代码如下:

代码输出结果如下所示。

此外,drop()函数的可选参数inplace,默认值为False,即不改变原数组,如果将其值设置为True,则原始数组直接会被修改,代码如下:

代码输出结果如下所示。

3.4.3 删除指定的列表对象
一般来说,我们不需要删除一个列表对象,因为列表对象离开作用域后会自动失效。如果想要明确地删除整个列表,则可以使用del语句,代码如下:

代码输出结果如下所示,可以看出score数据集已经被删除。
