Python//Lambda:无效语法

2024-09-28 01:23:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在一个数据帧上迭代。我想用其他字符替换一些字符,除非我要迭代的项是null/nan/nan/etc

为此,我尝试使用下面这一行:

lista['ultima_receita'] = lista['ultima_receita'].apply(lambda rstr: float(rstr.replace('.','').replace(',','.')[3:]) if pd.isnull(rstr) == False)

但是它总是给我一个无效的synthax错误:

^{pr2}$

我已经尽了我所能,但没有找到synthax出错的原因。有人能帮忙吗?在


Tags: 数据lambdaifetcnanfloat字符null
1条回答
网友
1楼 · 发布于 2024-09-28 01:23:20

试着让你的问题简单些。这个lambda确实是个问题,所以这与这里的熊猫无关。在

>>> lambda rstr: float(rstr.replace('.','').replace(',','.')[3:]) if pd.isnull(rstr) == False
SyntaxError: invalid syntax  # At the end of 'False' above

或者更简单:

^{pr2}$

这是因为python需要一个else作为A if B else C构造。如果你想做一个条件修改,你可以做这个else rstr,或者使用其他pandas/numpy逻辑来做不同的逻辑。在

>>> func = lambda x: "foo" if "bar" in x else x
>>> func("isobaric"), func("agnostic")
('foo', 'agnostic')

相关问题 更多 >

    热门问题