首页 > 解决方案 > 以df为输入的python应用函数

问题描述

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

def function(df1, df2, number):

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

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

标签: pythonpandasapply

解决方案


@Quang 解决方案很好,您还可以显式使用可能增加可读性的 lambda:

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

推荐阅读