我需要在pandas列上使用no-op操作 使用以下功能不起作用。知道为什么吗?
df['flag'] = filtered.map(lambda x: 'N' if x else pass)
答案 0 :(得分:4)
您的语法无效。 pass
是statement,您无法在条件表达式和许多其他上下文中使用它。参见:
>>> True if False else pass # inappropriate use
File "<stdin>", line 1
True if False else pass
^
SyntaxError: invalid syntax
>>> if pass: # inappropriate use
File "<stdin>", line 1
if pass:
^
SyntaxError: invalid syntax
>>> set(pass) # inappropriate use
File "<stdin>", line 1
set(pass)
^
SyntaxError: invalid syntax
>>> a = [ pass ] # inappropriate use
File "<stdin>", line 1
a = [ pass ]
^
SyntaxError: invalid syntax
>>> def lazy_function(): # good use
... pass
...
在你的代码中尝试返回空字符串(或任何其他值):
df['flag'] = filtered.map(lambda x: 'N' if x else '')