pandas Python中lambda函数的条件应用

vnzz0bqm  于 2023-02-14  发布在  Python
关注(0)|答案(1)|浏览(135)

我有一个Pandas数据框,并创建一个新的列现有的列值与'-'分隔符,我正在尝试下面的代码,它不工作的预期。

data["{}_pid".format(granularity)] = data[config['compute_hierarchy'][granularity]].apply(lambda x: x.str.cat(sep='-') if x.granularity != None, axis=1 )

例如:如果我具有列值a、B、c,则新列值是a-b-c,并且如果任何列值为空,则不应执行lambda函数

wlzqhblo

wlzqhblo1#

"if"关键字"directly"(我有点含糊)在lambda中只能是三元运算符的一部分。

l1 = lambda x:  "yes" if x else "no"

是正确的,而这一条:

l2 = lambda x:  "yes" if x

不是。
if without else可以是列表解析中表达式的一部分:

[print(a) for a in range(10) if a % 2]

相关问题