pandas if else 条件多列[重复]

pandas

1个回答

写回答

94你wife

2025-07-06 01:45

+ 关注

Pandas
Pandas

Pandas条件多列[重复]

在数据处理和分析中,经常需要根据多列的条件进行操作。Pandas库提供了一个灵活的方法,可以根据条件对多个列进行处理。本文将介绍如何使用Pandas的if else语句以及多列条件来处理数据,并提供案例代码进行演示。

案例代码:

我们先来看一个简单的案例代码,假设我们有一个包含学生姓名、语文成绩和数学成绩的数据集。我们希望根据学生的成绩情况,给出他们的评价。

Python

import Pandas as pd

# 创建数据集

data = {'姓名': ['小明', '小红', '小亮', '小刚'],

'语文成绩': [85, 92, 78, 65],

'数学成绩': [90, 87, 76, 82]}

df = pd.DataFrame(data)

# 添加评价列

df['评价'] = ''

# 根据条件给出评价

df.loc[(df['语文成绩'] >= 90) & (df['数学成绩'] >= 90), '评价'] = '优秀'

df.loc[(df['语文成绩'] >= 80) & (df['数学成绩'] >= 80), '评价'] = '良好'

df.loc[(df['语文成绩'] < 80) | (df['数学成绩'] < 80), '评价'] = '一般'</p># 输出结果

print(df)

运行以上代码,我们可以看到输出的结果如下:

姓名 语文成绩 数学成绩 评价

0 小明 85 90 一般

1 小红 92 87 一般

2 小亮 78 76 一般

3 小刚 65 82 一般

根据学生的语文成绩和数学成绩,我们给出了他们的评价。在这个例子中,我们使用了多个条件,通过使用if else语句和逻辑运算符,将符合条件的学生评价为优秀、良好或一般。

使用多列条件处理数据

在实际数据处理中,我们可能会遇到更复杂的情况,需要根据多个列的条件进行处理。Pandas提供了更灵活的方法来处理这些情况。

我们可以使用Pandas的apply函数,结合lambda表达式和if else语句,根据多个列的条件对数据进行处理。下面是一个示例代码:

Python

# 创建数据集

data = {'姓名': ['小明', '小红', '小亮', '小刚'],

'语文成绩': [85, 92, 78, 65],

'数学成绩': [90, 87, 76, 82]}

df = pd.DataFrame(data)

# 添加评价列

df['评价'] = df.apply(lambda row: '优秀' if row['语文成绩'] >= 90 and row['数学成绩'] >= 90

else '良好' if row['语文成绩'] >= 80 and row['数学成绩'] >= 80

else '一般', axis=1)

# 输出结果

print(df)

运行以上代码,我们可以看到输出的结果与之前的相同。

这个例子中,我们使用了Pandas的apply函数,对每一行的数据进行处理。在lambda表达式中,我们使用了if else语句和逻辑运算符,根据学生的语文成绩和数学成绩给出评价。通过指定axis=1参数,我们可以对每一行进行操作。

本文介绍了如何使用Pandas的if else语句以及多列条件来处理数据。通过使用if else语句和逻辑运算符,我们可以根据多列的条件对数据进行处理,并给出相应的评价。还介绍了使用Pandas的apply函数、lambda表达式和if else语句来处理更复杂的情况。

无论是简单的条件判断还是复杂的逻辑运算,Pandas都提供了强大的功能来处理多列条件。这些功能使得数据处理和分析更加灵活和高效。

希望本文对你理解Pandas的条件多列操作提供了帮助,并能在实际的数据处理中发挥作用。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号