在Python中编写更简洁的lambda

Gus*_*avo 0 python lambda pandas

我正在尝试与Pandas一起处理一些数据问题,并且已经达到了我正在编写这样的代码的程度:

groups.segment = groups.topic.map(lambda x: 'friends' if 'friend' in str(x) else x)
groups.segment = groups.topic.map(lambda x: 'friends' if 'bro' in str(x) else x)
groups.segment = groups.topic.map(lambda x: 'friends' if 'girls' in str(x) else x)
Run Code Online (Sandbox Code Playgroud)

我想以更简洁的方式编写它,我不必拥有一堆复制和粘贴代码.python有点新,所以不确定如何让它变得更好.任何帮助赞赏.

有点像:

groups.segment = groups.segment.map(lambda x: 'friends' if 'bro' or 'girls' or 'friend' in str(x) else x)
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点 ?

谢谢你的帮助 !

Sim*_*ser 5

最好不要在lambda这里使用:

def mapper(x)
    if any(y in str(x) for y in ('friend', 'bro', 'girls')):
        return 'friends'
    return x

groups.segment = groups.topic.map(mapper)
Run Code Online (Sandbox Code Playgroud)

你可以使用any这里True至少有一个传递的值返回True.