Pandas按条件获取数据

Pandas按条件获取数据

Pandas按条件获取数据

在数据分析和数据处理过程中,经常需要根据某些条件筛选出符合条件的数据。Pandas是一个强大的数据处理工具,可以方便地进行数据的筛选和提取。本文将详细介绍如何使用Pandas按照条件获取数据。

1. 准备数据

在开始之前,我们先准备一些示例数据,以便后续的演示。

import pandas as pd

data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
    'age': [25, 30, 35, 40, 45],
    'gender': ['F', 'M', 'M', 'M', 'F'],
    'score': [85, 70, 90, 75, 80]
}

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

运行以上代码,我们得到一个包含姓名、年龄、性别和分数的DataFrame:

      name  age gender  score
0    Alice   25      F     85
1      Bob   30      M     70
2  Charlie   35      M     90
3    David   40      M     75
4   Edward   45      F     80

2. 按条件获取数据

2.1 单一条件筛选

2.1.1 筛选年龄大于等于35岁的数据

condition = df['age'] >= 35
result = df[condition]
print(result)

运行以上代码,我们会得到年龄大于等于35岁的数据:

     name  age gender  score
2  Charlie   35      M     90
3    David   40      M     75
4   Edward   45      F     80

2.2 多重条件筛选

2.2.1 筛选性别为男性且分数大于80的数据

condition = (df['gender'] == 'M') & (df['score'] > 80)
result = df[condition]
print(result)

运行以上代码,我们会得到性别为男性且分数大于80的数据:

  name  age gender  score
2  Charlie   35      M     90

2.3 isin 方法筛选

有时候我们需要根据某个列表中的值进行筛选,可以使用 isin 方法。

2.3.1 筛选姓名为Alice和Charlie的数据

condition = df['name'].isin(['Alice', 'Charlie'])
result = df[condition]
print(result)

运行以上代码,我们会得到姓名为Alice和Charlie的数据:

      name  age gender  score
0    Alice   25      F     85
2  Charlie   35      M     90

3. 复杂条件筛选

有时候我们需要组合多个条件进行复杂的筛选,可以通过括号来设定优先级。

3.1 组合筛选条件

3.1.1 筛选年龄大于30岁且性别为男性或者分数大于80的数据

condition = (df['age'] > 30) & ((df['gender'] == 'M') | (df['score'] > 80))
result = df[condition]
print(result)

运行以上代码,我们会得到年龄大于30岁且性别为男性或者分数大于80的数据:

     name  age gender  score
2  Charlie   35      M     90
3    David   40      M     75
4   Edward   45      F     80

3.2 复杂条件组合

3.2.1 筛选年龄为25岁或者35岁,且性别为男性,或者分数大于85的数据

condition = ((df['age'] == 25) | (df['age'] == 35)) & (df['gender'] == 'M') | (df['score'] > 85)
result = df[condition]
print(result)

运行以上代码,我们会得到年龄为25岁或者35岁,且性别为男性,或者分数大于85的数据:

     name  age gender  score
0    Alice   25      F     85
2  Charlie   35      M     90

4. 结语

通过以上示例,我们学习了如何使用Pandas按条件获取数据。在实际工作中,我们经常会碰到各种各样的数据处理需求,而Pandas提供了强大的功能来满足这些需求。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程