python应用函数,以df作为输入

时间:2021-04-19 15:38:30

标签: python pandas apply

我有一个函数,它使用 2 个数据帧和一个数字作为输入。我想将该函数应用于数据帧中的每一行,同时在上述函数中使用来自该数据帧的输入。

def function(df1, df2, number):

df3['result'] = df3['number'].apply(function, args=(df1, df2, df3['number']))

但是我得到 TypeError: 'int' object is not subscriptable。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

@Quang 解决方案很好,您也可以显式使用 lambda 来提高可读性:

df3['result'] = df3['number'].apply(
    lambda s: function(df1, df2, s)
)