Pandas DataFrame 上的条件逻辑

pandas

1个回答

写回答

十一点就睡

2025-07-05 22:00

+ 关注

Pandas
Pandas

使用Pandas DataFrame上的条件逻辑进行数据筛选与处理

在数据分析和处理过程中,我们经常需要根据特定的条件对数据进行筛选和处理。Pandas是一个强大的数据分析工具,提供了丰富的功能来处理和操作数据。在本文中,我们将介绍如何使用Pandas DataFrame上的条件逻辑来实现数据筛选与处理,并通过案例代码来加深理解。

1. 筛选符合条件的数据

Pandas DataFrame提供了一种简单而直观的方法来筛选符合特定条件的数据。我们可以使用布尔索引(Boolean indexing)来实现这一目标。布尔索引是一种根据某个条件返回True或False的数组,我们可以将其作为索引来筛选数据。

下面是一个简单的例子,假设我们有一个存储了学生信息的DataFrame,包含学生姓名、年龄和成绩三列。我们想要筛选出年龄大于18岁且成绩大于80分的学生。

Python

import Pandas as pd

# 创建DataFrame

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

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

'成绩': [85, 90, 75, 88]}

df = pd.DataFrame(data)

# 筛选符合条件的数据

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

print(filtered_data)

运行上述代码,我们可以得到筛选后的结果:

姓名 年龄 成绩

0 张三 20 85

1 李四 19 90

3 赵六 18 88

通过使用布尔索引,我们成功地筛选出了年龄大于18岁且成绩大于80分的学生信息。

2. 根据条件修改数据

除了筛选数据,我们还可以根据条件对数据进行修改。Pandas DataFrame提供了多种方法来实现这一目标,如使用.loc或.iloc进行索引,然后根据条件修改相应的数据。

下面是一个示例,假设我们有一个存储了商品销售信息的DataFrame,包含商品名称、销售数量和单价三列。我们想要将销售数量大于100的商品单价调整为原来的1.2倍。

Python

import Pandas as pd

# 创建DataFrame

data = {'商品名称': ['苹果', '香蕉', '橙子', '西瓜'],

'销售数量': [150, 80, 120, 200],

'单价': [2.5, 3.0, 2.8, 4.0]}

df = pd.DataFrame(data)

# 根据条件修改数据

df.loc[df['销售数量'] > 100, '单价'] *= 1.2

print(df)

运行上述代码,我们可以看到修改后的结果:

商品名称 销售数量 单价

0 苹果 150 3.00

1 香蕉 80 3.00

2 橙子 120 3.36

3 西瓜 200 4.80

通过使用.loc来索引销售数量大于100的行,并修改相应的单价,我们成功地实现了根据条件修改数据的目标。

3. 多条件筛选与处理

有时候我们需要根据多个条件进行筛选和处理。Pandas DataFrame提供了逻辑运算符(如&、|和~)来实现多条件的组合。

下面是一个示例,假设我们有一个存储了员工信息的DataFrame,包含员工姓名、年龄和性别三列。我们想要筛选出年龄在25到35岁之间且为女性的员工,并将其性别修改为“女”。

Python

import Pandas as pd

# 创建DataFrame

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

'年龄': [28, 30, 22, 32],

'性别': ['男', '女', '女', '男']}

df = pd.DataFrame(data)

# 筛选符合条件的数据并修改性别

filtered_data = df[(df['年龄'] >= 25) & (df['年龄'] <= 35) & (df['性别'] == '女')]</p>filtered_data.loc[:, '性别'] = '女'

print(filtered_data)

运行上述代码,我们可以看到筛选后的结果:

姓名 年龄 性别

1 李四 30 女

通过使用逻辑运算符,我们成功地筛选出了年龄在25到35岁之间且为女性的员工,并将其性别修改为“女”。

在本文中,我们介绍了如何使用Pandas DataFrame上的条件逻辑进行数据筛选与处理。通过布尔索引和逻辑运算符,我们可以方便地筛选符合条件的数据和根据条件修改数据。这些功能使得Pandas成为了一个强大而灵活的数据处理工具。希望本文对您理解Pandas DataFrame上的条件逻辑有所帮助!

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号