Каков наиболее эффективный способ numpy для замены замаскированных значений в массиве со средним значением ближайших незамасленных значений рядом с ними?Как заменить маскированные значения из массива numpy со средними значениями сразу же после маскированного значения
например:
a = np.array([2,6,4,8])
b = np.ma.masked_where(a>5,a)
print b
masked_array(data = [2 -- 4 --],
mask = [False True False True],
fill_value = 999999)
Я хочу маскированные значения в б заменить со средним значениями только рядом с ними. Границы могут повторять самое близкое немаркированное значение. Таким образом, в этом примере, б будет иметь следующий вид:
b = [2,3,4,4]
Основной причиной этого вопроса, чтобы увидеть, может ли это быть сделано эффективно без использования итератора.