跳转至

在带有多个 if 语句的 Pandas Lambda 函数中使用 Apply

原文:https://www.geesforgeks.org/using-apply-in-pandas-lambda-functions-with-multi-if-statements/

在本文中,我们将看到如何在熊猫数据框中应用带有λ函数的多个 if 语句。有时在现实世界中,我们需要对一个数据帧应用多个条件语句,以便为更好的分析准备数据。

我们通常使用 lambda 函数对数据帧应用任何条件,

语法:λ参数:表达式

一个匿名函数,我们可以立即传入,而不需要定义名字或者任何类似于传统函数的东西。

当我们使用这个 lambda 函数时,我们只受到一个条件和一个 else 条件的限制。我们不能像真实的 python 代码那样添加多个 if 语句。现在我们可以打破这些限制,看看如何在 lambda 函数中添加多个 if 语句。

创建用于演示的数据框架:

蟒蛇 3

# Importing the library
import pandas as pd

# dataframe
df = pd.DataFrame({'Name': ['John', 'Jack', 'Shri',
                            'Krishna', 'Smith', 'Tessa'],
                   'Maths': [5, 3, 9, 10, 6, 3]})
print(df)

输出:

      Name  Maths
0     John      5
1     Jack      3
2     Shri      9
3  Krishna     10
4    Smith      6
5    Tessa      3

如果您需要根据学生的分数将他们分为及格或不及格,那么使用 lambda 函数非常简单。

例如,

语法: df['结果'] = df['数学']。应用(λx:“通过”如果 x > =5 否则“失败”)

蟒蛇 3

# Import the library
import pandas as pd

# dataframe
df = pd.DataFrame({'Name': ['John', 'Jack', 'Shri',
                            'Krishna', 'Smith', 'Tessa'],
                   'Maths': [5, 3, 9, 10, 6, 3]})

# Adding the result column
df['Result'] = df['Maths'].apply(lambda x: 'Pass' if x>=5 else 'Fail')

print(df)


回到顶部