pandas 删除行

在数据处理和分析中,经常需要对数据集进行清洗和整理,其中一个常见的操作就是删除某些行。在 Python 中,pandas 库提供了强大而灵活的工具,可以轻松完成这个任务。本文将详细介绍如何使用 pandas 删除行数据。
1. 数据准备
首先,我们需要准备一个示例数据集来演示删除行的操作。假设我们有一个包含学生信息的数据集,包括学生姓名、年龄、成绩等信息。示例数据集如下:
import pandas as pd
data = {
'姓名': ['张三', '李四', '王五', '赵六', '钱七'],
'年龄': [18, 20, 19, 21, 22],
'成绩': [80, 85, 78, 90, 92]
}
df = pd.DataFrame(data)
print(df)
运行以上代码,我们可以得到以下数据集:
姓名 年龄 成绩
0 张三 18 80
1 李四 20 85
2 王五 19 78
3 赵六 21 90
4 钱七 22 92
2. 删除行
2.1 按索引删除行
要删除数据集中的某一行,最简单的方法是按照该行的索引进行删除。可以使用 drop() 方法来实现,以下是删除第一行的示例代码:
df.drop(0, inplace=True)
print(df)
运行以上代码,我们可以看到第一行已经被成功删除:
姓名 年龄 成绩
1 李四 20 85
2 王五 19 78
3 赵六 21 90
4 钱七 22 92
如果不想改变原始数据集,可以去掉 inplace=True 参数。
2.2 按条件删除行
有时候我们需要按照某个条件来删除行数据。比如,我们可以删除成绩低于80分的学生记录。以下是示例代码:
df = df[df['成绩'] >= 80]
print(df)
运行以上代码,我们可以得到删除成绩低于80分的学生记录后的数据集:
姓名 年龄 成绩
1 李四 20 85
3 赵六 21 90
4 钱七 22 92
2.3 按列值删除行
有时候我们也可能需要根据某一列的数值来删除行数据。以下是示例代码,删除姓名为“王五”的学生记录:
df = df[df['姓名'] != '王五']
print(df)
运行以上代码,我们可以看到删除姓名为“王五”的学生记录后的数据集:
姓名 年龄 成绩
1 李四 20 85
3 赵六 21 90
4 钱七 22 92
3. 总结
本文介绍了如何使用 pandas 删除行数据,包括按索引、按条件和按列值删除行的方法。通过这些方法,我们可以实现数据集的灵活清理和整理,为后续的分析工作提供便利。
极客教程