我想通过对两个现有列应用函数,在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中的匿名函数中,如下所示:
>&燃气轮机&燃气轮机;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