将 Dataframe 传递给 Apply 函数 pandas 作为参数

Lor*_*oli 1 python apply pandas

是否可以将 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
Run Code Online (Sandbox Code Playgroud)

两个 DataFrame 的长度不同。

cs9*_*s95 5

来自df.apply文档:

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

沿 DataFrame 的输入轴应用函数。

argstuple

除了数组/系列之外,还要传递给函数的位置参数。

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

df1.apply(func, axis=1, args=(df2, ))
Run Code Online (Sandbox Code Playgroud)

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