首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何传递多个参数到apply(Python)?

如何传递多个参数到apply(Python)?

提问于 2018-02-28 04:39:04
回答 1关注 0查看 2.3K

我试图简化Python中的一些代码来向量化一组功能,我想知道是否有一种很好的方式来使用apply来传递多个参数。考虑以下(当前版本):

代码语言:txt
复制
def function_1(x):
    if "string" in x:
        return 1
    else:
        return 0

df['newFeature'] = df['oldFeature'].apply(function_1)

通过上面的介绍,我不得不编写一个新函数(function_1,function_2等)来测试"string"我想要查找的每个子字符串。在理想的世界中,我可以将所有这些冗余功能结合起来,并使用如下所示:

代码语言:txt
复制
def function(x, string):
    if string in x:
        return 1
    else:
        return 0

df['newFeature'] = df['existingFeature'].apply(function("string"))

但尝试返回错误TypeError: function() takes exactly 2 arguments (1 given)是否有另一种方式来完成相同的事情?

代码语言:txt
复制
def function(string, x):
    if string in x:
        return 1
    else:
        return 0

df['newFeature'] = df['oldFeature'].apply(partial(function, 'string'))

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档