You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SQL的NVL公式转换为Python或Pandas可执行代码

转换SQL NVL表达式为Pandas代码

原SQL表达式的逻辑是:当val_x不为空时取其值,否则计算-1 * val_y(空则取0) + val_z(空则取0) + val_h(空则取0)的结果。在Pandas中可以用fillna()方法实现NVL的功能,转换后的代码如下:

import pandas as pd

# 假设你的DataFrame名为df
df['result'] = df['val_x'].fillna(
    -1 * df['val_y'].fillna(0) + df['val_z'].fillna(0) + df['val_h'].fillna(0)
)

逻辑对应说明:

  • SQL中的nvl(col, default)等价于Pandas中的df[col].fillna(default)
  • 外层的nvl(val_x, ...)对应df['val_x'].fillna(...),括号内的算术计算逻辑与原SQL完全一致

内容的提问来源于stack exchange,提问作者Jayanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 14:54:49