Pandas lambda函数语法错误(使用字典)



我在Python中经常使用lambda函数。突然,我弄不明白为什么会有语法错误消息:

table['sp1 name'] = table['sp1'].apply(lambda x: sp1_new_dict[x] if x in sp1_new_dict.keys())

任何想法?谢谢!

你需要一个else。解析你的错误:

x = 1 if True
File "<stdin>", line 1
x = 1 if True
^
SyntaxError: invalid syntax

# No error here
x = 1 if True else 2

既然你正在使用字典,也许可以使用dict.get:

table['sp1 name'] = table['sp1'].apply(lambda x: sp1_new_dict.get(x))

如果键不存在,返回None

最新更新