Python 判断 DataFrame 过滤

Python 判断 DataFrame 过滤

Python 判断 DataFrame 过滤

在数据分析的过程中,经常会需要根据特定的条件对DataFrame进行过滤,以获得我们需要的数据。在Python中,pandas库提供了丰富的功能,可以帮助我们实现DataFrame的筛选和过滤操作。本文将详细介绍如何使用Python中的pandas库进行DataFrame的过滤操作。

1. 数据准备

首先我们需要准备一些数据来构建DataFrame,这里我们使用一个包含学生信息的示例数据。假设我们有如下数据:

学生姓名 年龄 成绩
小明 21 89
小红 20 78
小刚 22 95
小芳 19 85

我们将这些数据存储在一个名为df的DataFrame中:

import pandas as pd

data = {'学生姓名': ['小明', '小红', '小刚', '小芳'],
        '年龄': [21, 20, 22, 19],
        '成绩': [89, 78, 95, 85]}

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

运行以上代码,我们可以得到如下DataFrame:

  学生姓名  年龄  成绩
0    小明  21  89
1    小红  20  78
2    小刚  22  95
3    小芳  19  85

2. 单条件过滤

首先我们来看如何根据单个条件对DataFrame进行过滤。例如,我们想要筛选出成绩大于等于90分的学生信息,可以使用以下代码实现:

high_score = df[df['成绩'] >= 90]
print(high_score)

运行以上代码,我们可以得到如下筛选结果:

  学生姓名  年龄  成绩
2    小刚  22  95

3. 多条件过滤

除了单个条件过滤,我们还可以同时应用多个条件对DataFrame进行过滤。例如,我们想要筛选出年龄在20岁以上且成绩在80分以上的学生信息,可以使用以下代码实现:

filtered_data = df[(df['年龄'] > 20) & (df['成绩'] > 80)]
print(filtered_data)

运行以上代码,我们可以得到如下筛选结果:

  学生姓名  年龄  成绩
2    小刚  22  95

4. 字符串条件过滤

有时候我们需要根据字符串条件进行过滤,例如筛选出姓名为”小明”的学生信息。这时可以使用==运算符来实现:

xiaoming = df[df['学生姓名'] == '小明']
print(xiaoming)

运行以上代码,我们可以得到如下筛选结果:

  学生姓名  年龄  成绩
0    小明  21  89

5. 使用query方法进行过滤

除了使用[]进行过滤之外,pandas还提供了query方法,可以更加方便地进行条件过滤。例如,我们也可以使用query方法筛选出年龄在20岁以上且成绩在80分以上的学生信息:

query_data = df.query('年龄 > 20 and 成绩 > 80')
print(query_data)

运行以上代码,我们可以得到与第3节中相同的筛选结果:

  学生姓名  年龄  成绩
2    小刚  22  95

6. 使用isin方法进行条件过滤

有时候我们需要根据一组值进行过滤,这时可以使用isin方法。例如,我们想要筛选出年龄在20岁及以下的学生信息,可以使用以下代码:

age_filter = df[df['年龄'].isin([20, 19])]
print(age_filter)

运行以上代码,我们可以得到如下筛选结果:

  学生姓名  年龄  成绩
1    小红  20  78
3    小芳  19  85

7. 使用loc方法进行过滤

在某些情况下,我们可能需要根据行索引进行过滤。此时可以使用loc方法来实现。例如,我们想要筛选出第2和第3行的学生信息,可以使用以下代码:

filtered_rows = df.loc[[1, 2]]
print(filtered_rows)

运行以上代码,我们可以得到如下筛选结果:

  学生姓名  年龄  成绩
1    小红  20  78
2    小刚  22  95

8. 使用iloc方法进行过滤

loc方法类似,iloc方法可以根据行的位置进行过滤。例如,我们想要筛选出第2和第3行的学生信息,可以使用以下代码:

filtered_rows = df.iloc[[1, 2]]
print(filtered_rows)

运行以上代码,我们同样可以得到如下筛选结果:

  学生姓名  年龄  成绩
1    小红  20  78
2    小刚  22  95

9. 结语

通过本文的介绍,我们了解了如何在Python中使用pandas库进行DataFrame的过滤操作。无论是单条件过滤、多条件过滤,还是根据索引过滤,我们都可以通过简单的代码实现自己想要的结果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程