将数组的零替换为Amibroker中的最后一个非零值

时间:2019-05-21 05:36:02

标签: amibroker

我有一个看起来像这样的数组;

arr_with_zeros = [1 0 0 2 0 0 3 0 0 6 0 0 8 0 0]

我想用数组中的最后一个非零值替换零。新数组应如下所示:

arr_non_zeros = [1 1 1 2 2 2 3 3 3 6 6 6 8 8 8]

这是我写的代码。

arr_non_zeros = ValueWhen(True, arr_with_zeros, n=1);

它不起作用。 arr_non_zeros与arr_with_zeros具有相同的内容。有人可以帮忙吗?谢谢。

我正在使用Amibroker ver6.30.5

1 个答案:

答案 0 :(得分:1)

看看IIF

arr_new = iif(arr_non_zeros == 0, ref(arr_non_zeros,-1), arr_non_zeros);