传递Dataframe以将函数pandas应用为参数

时间:2017-08-03 18:50:02

标签: python pandas apply

是否可以将DataFrame传递给apply这样的函数?

df2 = df1.apply(func,axis=1,args=df2)
def func(df1,df2):
    # do stuff in df2 for each row of df1
    return df2

两个DataFrame的长度不同。

1 个答案:

答案 0 :(得分:2)

来自documentation文档:

  

DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)

     

沿输入轴应用功能   数据帧。

     

args tuple

     

除了传递给函数的位置参数   数组/系列。

正确的方法是将参数传递给元组,如下所示:

df1.apply(func, axis=1, args=(df2, ))

如果知道您要实现的目标,则可以对代码进行进一步的改进。