📅  最后修改于: 2023-12-03 14:49:37.276000             🧑  作者: Mango
在 Python 中,我们经常需要使用函数来处理数组或数据框的每个元素。apply()
是一个用于在 Pandas 和 NumPy 中执行此类操作的函数。通过使用 apply()
函数,我们可以将自定义函数应用于数组或数据框的每个元素,并返回处理结果。
apply()
函数的基本用法apply()
函数接受两个参数:第一个参数是要应用的函数,第二个参数是要处理的数组或数据框。下面是 apply()
函数的基本用法:
result = df.apply(func)
例如,我们有一个数据框 df
,并且想要将一个函数 func
应用于该数据框的每个元素。我们可以通过以下方式实现:
def func(x):
# 自定义函数的实现
result = df.apply(func)
apply()
中传递参数有时候,我们需要在 apply()
函数中传递额外的参数给自定义函数。为了实现这一点,我们可以使用 args
参数来传递参数。下面是一个示例:
result = df.apply(func, args= (arg1, arg2))
在这个例子中,我们在自定义函数中可以采用下面的方式使用参数:
def func(x, arg1, arg2):
# 使用参数的自定义函数的实现
假设我们有一个数据框 df
,其中包含学生的姓名和成绩。我们想要将一个自定义函数 calculate_grade()
应用于每个学生的得分,以计算他们的等级。这个函数需要一个额外的参数 passing_score
,代表及格分数。
import pandas as pd
def calculate_grade(score, passing_score):
if score >= passing_score:
return 'Pass'
else:
return 'Fail'
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],
'Score': [85, 60, 92]})
passing_score = 70
df['Grade'] = df['Score'].apply(calculate_grade, args=(passing_score,))
通过以上示例,我们将函数 calculate_grade()
应用于 df['Score']
列的每个元素,并将计算结果存储在 df['Grade']
列中。传递给自定义函数的参数为 passing_score
,代表及格分数。
以上是使用 apply()
函数在 Python 中传递参数的一个示例。希望这个介绍对你有帮助!