我正在尝试在张量流框架中为一维张量实现类似 pandas 的 fill 方法。
我需要传播张量中最后一个非 NaN 值:
[1,nan,nan,0,nan,nan,2,nan,3] => [1,1,1,0,0,0,2,2,3]
Run Code Online (Sandbox Code Playgroud)
我用 tf.scan 尝试了这个实现,但没有运气:
def ffill(previous_output, current_input):
condition = tf.equal(current_input,np.nan)
return tf.cond(condition,lambda: previous_output,lambda : current_input)
initializer = tf.constant(0.0)
filled_tensor = tf.scan(ffill, nan_tensor, initializer)
Run Code Online (Sandbox Code Playgroud)
请帮忙