Pandas 当数据库是第二个位置参数时应用函数
Pandas apply function when database is the 2nd positional argument
假设我有一个函数
def fun(x, y):
return(y.sum() + x)
此函数接受一个值以添加 x,以及一个 database/series 以求和 y
如果我有一个数据库 df,我想将我的函数应用到其中。但是,数据库是第二个位置参数而不是第一个。
df.apply(fun, x = 10)
returns 一个错误 "("fun() got multiple values for argument 'x'", 'occurred at index 0')
如何使用 apply 函数使数据库成为 second 位置参数?
如果不允许修改函数 fun
,则需要在 apply
中添加如下 lambda:
df.apply(lambda col: fun(10, col))
假设我有一个函数
def fun(x, y):
return(y.sum() + x)
此函数接受一个值以添加 x,以及一个 database/series 以求和 y
如果我有一个数据库 df,我想将我的函数应用到其中。但是,数据库是第二个位置参数而不是第一个。
df.apply(fun, x = 10)
returns 一个错误 "("fun() got multiple values for argument 'x'", 'occurred at index 0')
如何使用 apply 函数使数据库成为 second 位置参数?
如果不允许修改函数 fun
,则需要在 apply
中添加如下 lambda:
df.apply(lambda col: fun(10, col))