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

Julia中如何对missing与数值求和并返回数值而非missing

Julia 1.3.0 缺失值加法跳过缺失的实现方法

可以实现,无需额外安装第三方包,Julia 1.3.0 内置的coalesce函数即可满足需求。

单值运算场景

要让missing + 1返回1而非missing,只需用coalesce将缺失值替换为0后再运算:

coalesce(missing, 0) + 1
# 输出结果为 1

coalesce的作用是返回传入参数中第一个非缺失的值,上述写法遇到非missing的数值时会直接返回原值,不会影响正常数值的计算。

两列数组批量求和、保留原行数场景

直接对两列数组做向量化的coalesce替换后再相加即可,输出结果的长度和原数组完全一致:

  • 示例代码:假设两列数据分别为col1和col2
# 随机生成带缺失的示例数组
col1 = [1, missing, 3, missing, 5]
col2 = [missing, 2, missing, 4, 5]
# 按行求和,跳过缺失值
sum_result = coalesce.(col1, 0) .+ coalesce.(col2, 0)

上述示例的输出结果为[1, 2, 3, 4, 10],和原数组行数完全一致,缺失值位置会被自动视为0参与计算。

自定义通用运算规则(可选)

如果需要频繁使用跳过缺失的加法,可以自定义专用函数:

skipmiss_add(x, y) = coalesce(x, 0) + coalesce(y, 0)
# 向量化调用
sum_result = skipmiss_add.(col1, col2)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:36:02