Pandas 按功能过滤数据框行

作者:编程家 分类: pandas 时间:2025-06-21

使用Pandas按功能过滤数据框行

在数据分析和处理的过程中,我们经常需要根据特定的条件对数据进行过滤,以便得到我们想要的结果。Pandas是Python中最常用的数据分析库之一,它提供了许多强大的功能来处理和操作数据。本文将介绍如何使用Pandas按功能过滤数据框行,并通过案例代码进行演示。

案例代码

首先,我们需要导入Pandas库,并创建一个数据框来演示如何按功能过滤数据框行。假设我们有一个包含学生信息的数据框,其中包括学生的姓名、年龄和成绩。我们的目标是根据学生的成绩筛选出优秀学生。

python

import pandas as pd

# 创建数据框

data = {'姓名': ['张三', '李四', '王五', '赵六', '钱七'],

'年龄': [18, 19, 20, 21, 22],

'成绩': [85, 92, 78, 95, 88]}

df = pd.DataFrame(data)

# 打印原始数据框

print("原始数据框:")

print(df)

按条件过滤数据框行

要按条件过滤数据框行,我们可以使用Pandas的逻辑运算符(例如>,<,==)和布尔索引。在本例中,我们将按照成绩大于90的条件来过滤数据。

python

# 按条件过滤数据框行

filtered_df = df[df['成绩'] > 90]

# 打印过滤后的数据框

print("\n按条件过滤后的数据框:")

print(filtered_df)

按多个条件过滤数据框行

有时候我们需要根据多个条件来过滤数据框行。在这种情况下,我们可以使用逻辑运算符(例如&,|,~)和布尔索引。假设我们要筛选出成绩大于90且年龄大于20的学生。

python

# 按多个条件过滤数据框行

filtered_df = df[(df['成绩'] > 90) & (df['年龄'] > 20)]

# 打印过滤后的数据框

print("\n按多个条件过滤后的数据框:")

print(filtered_df)

按多个条件之一过滤数据框行

有时候我们需要根据多个条件之一来过滤数据框行。在这种情况下,我们可以使用逻辑运算符(例如|)和布尔索引。假设我们要筛选出成绩大于90或年龄大于20的学生。

python

# 按多个条件之一过滤数据框行

filtered_df = df[(df['成绩'] > 90) | (df['年龄'] > 20)]

# 打印过滤后的数据框

print("\n按多个条件之一过滤后的数据框:")

print(filtered_df)

按字符串条件过滤数据框行

有时候我们需要根据字符串条件来过滤数据框行。在这种情况下,我们可以使用Pandas的字符串方法(例如str.contains)和布尔索引。假设我们要筛选出姓名中包含"张"的学生。

python

# 按字符串条件过滤数据框行

filtered_df = df[df['姓名'].str.contains('张')]

# 打印过滤后的数据框

print("\n按字符串条件过滤后的数据框:")

print(filtered_df)

本文介绍了如何使用Pandas按功能过滤数据框行。我们可以根据条件、多个条件、多个条件之一或字符串条件来过滤数据框行。通过灵活使用Pandas提供的功能,我们可以轻松地筛选出我们想要的数据,从而更好地进行数据分析和处理。

以上是按功能过滤数据框行的案例代码和解释。希望这篇文章对你理解和使用Pandas进行数据过滤有所帮助。