关于空值运算

请教一下各位!

我在用矩阵算财务指标的时候(加减乘除),里面可能有空值,如果当所有参与运算的值为空值时,结果为空值;如果参与计算的其中几个为空值,则忽略。

我现在的想法是这样:矩阵中的数值类型是 DOUBLE,然后将空值填充为 INT 类型的 0,只有当算出来的结果是 INT 类型的 0 才是真正的空值(参与运算的所有数据都是空值),而 DOUBLE 类型的 0 是正常的结果。

请问这样的出来的结果能实现我的期望吗?会不会有什么问题?


我看到有 withNullFill 这个函数,比较符合我的期望,但是它只能对两个矩阵进行操作,如果我要同时对多个矩阵应用应该怎么办?

请先 登录 后评论

1 个回答

Polly

之前有个类似的多矩阵计算的问题,也许可以参考:https://ask.dolphindb.net/question/3437

或者这样也可以:

def Add(m1, m2){ return withNullFill(+, m1, m2, 0) }
n = matrix(1 1 1, 5 5 5)
n2 = matrix(10 11 12, 00 -5 -5)
n3 = matrix(-1 1 00, -3 00 10)
reduce(Add, [n, n2, n3])
请先 登录 后评论
  • 1 关注
  • 0 收藏,499 浏览
  • 提出于 2023-08-24 15:27