应用带多个参数的函数创建新列

我想通过对两个现有列应用函数,在pandas数据框中创建一个新列。根据这个答案,当我只需要一列作为参数时,我就能够创建一个新列:

将熊猫作为pd导入
df=pd.DataFrame({“A”:[10,20,30],“B”:[20,30,10]})
def fx(x):
返回x*x
打印(df)
df['newcolumn']=df.A.apply(fx)
打印(df)

但是,当函数需要多个参数时,我不知道如何执行相同的操作。例如,如何通过将列a和列B传递给下面的函数来创建新列

def fxy(x,y):
返回x*y

如果可以重写函数,可以使用@greenAfrican示例。但如果不想重写函数,可以将其包装到apply中的匿名函数中,如下所示:

&gt&燃气轮机&燃气轮机;def fxy(x,y):
...     返回x*y
&燃气轮机&燃气轮机&燃气轮机;df['newcolumn']=df.apply(λx:fxy(x['A'],x['B']),轴=1)
&燃气轮机&燃气轮机&燃气轮机;df
新专栏
0  10  20        200
1  20  30        600
2  30  10        300

发表评论