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。