python - 我们可以在 lambda python Pandas 函数上使用多分支条件吗?

标签 python pandas

我正在使用以下代码计算一个新的 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/

相关文章:

python - 为什么我的数据库不能在此 Python/Django 应用程序中运行?

python - Supervisor - 无法以 root 或用户身份启动 supervisorctl(用户在配置中设置)

python - 是否需要removeWidget()

python - 尝试使用 chunksize 迭代器除外

python - 如何在python中将小时添加到当前时间

python - 从装饰器访问 django session

python - Pandas 在组内移动组子集的值

python : Pandas Sum with more than one condition

python - 如何对以下内容进行矢量化,追加可能是瓶颈

python - 扩展 Pandas 数据框的简单/有效方法