通过将 CUDA Thrust 的包含性扫描与max
运算符一起使用,我能够用前一个非缺失值(即左侧的最后一个非缺失值)填充缺失值。
但是如何使用下一个非缺失值(右侧)填充?因此,例如,0
用作我的缺失值标记:
Input: [0 1 0 0 4 0 6 0]
Fill missing from left: [0 1 1 1 4 4 6 6]
Fill missing from right: [0 1 4 4 4 6 6 6] <- want
(请注意,如果最后一个元素丢失,则恢复为0
从左侧填充 final s。)
我尝试了反向的包容性扫描,它产生[0 6 6 6 6 6 6 6]
了 for max
,而不是预期的结果。
非常感谢。