Python Pandas – 如何从DataFrame中删除一行

Python Pandas – 如何从DataFrame中删除一行

在处理数据时,DataFrame是Python Pandas库中一个重要的数据结构。DataFrame中的每一行可以被视为一条数据记录,因此我们经常需要删除其中的一些行。

本文将介绍如何利用Python Pandas库从DataFrame中删除一行。

更多Pandas相关文章,请阅读:Pandas 教程

创建DataFrame

首先,我们需要创建一个DataFrame作为示例数据。可以使用如下代码创建一个DataFrame:

import pandas as pd

data = {
    '姓名': ['张三', '李四', '王五', '赵六'],
    '年龄': [23, 28, 21, 35],
    '性别': ['男', '男', '女', '男']
}

df = pd.DataFrame(data)
print(df)

运行上述代码后,输出的结果如下:

   姓名  年龄 性别
0  张三  23  男
1  李四  28  男
2  王五  21  女
3  赵六  35  男

这个DataFrame包含四个行记录,每个记录包含三个字段:姓名、年龄和性别。

删除DataFrame中的一行

为了删除DataFrame中的一行,我们需要知道该行所对应的索引值(或者行号)。以本文示例中的DataFrame为例,我们可以使用如下代码删除索引值为1的记录:

df = df.drop(1)
print(df)

运行上述代码后,输出的结果如下:

   姓名  年龄 性别
0  张三  23  男
2  王五  21  女
3  赵六  35  男

可以看到,原来索引值为1的记录已经被删除了。

除了通过索引值删除一行以外,还可以通过行号进行删除。我们可以使用如下代码删除第二行数据:

df = df.drop(df.index[1])
print(df)

此时输出的结果与上述示例相同。

在删除DataFrame中的一行时保留原DataFrame

有时候,我们需要删除DataFrame中的一行,同时又需要保留原始的DataFrame,以便于后续的操作。这种情况下可以使用copy()方法。例如,我们可以使用如下代码删除年龄为23的记录,同时保留原DataFrame:

df_copy = df.copy()
df_copy = df_copy.drop(df_copy[df_copy['年龄'] == 23].index)
print(df_copy)

运行上述代码后,输出的结果如下:

   姓名  年龄 性别
1  李四  28  男
2  王五  21  女
3  赵六  35  男

这里使用了copy()方法来复制原始的DataFrame到df_copy变量中,然后对df_copy进行了删除一行的操作。可以看到原始的DataFrame df并没有改变。

结论

通过本文的介绍,我们学习了如何利用Python Pandas库从DataFrame中删除一行。具体而言,我们学习了如何使用drop()方法和索引值(或行号)来删除一行,并且还介绍了如何在删除一行时保留原始的DataFrame。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 教程