我正在使用以下代码计算一个新的 Pandas 列
temp['UFrio'] = temp['TempC'].map(lambda x: 0 if (x <0) math.sin((2*math.pi/28)*x) elif (x<25) else -1)
但它给了我一个无效的语法错误。
你能帮帮我吗?
谢谢
最佳答案
这样写:
def thingy(x):
if x < 0:
return 0
elif x < 25:
return math.sin((2*math.pi/28)*x)
else:
return -1
temp['UFrio'] = temp['TempC'].map(thingy)
您可能想出一个比 thingy 更好的名字。无需将所有这些都放入 lambda 中。
关于python - 我们可以在 lambda python Pandas 函数上使用多分支条件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24476338/