Допустим, у меня есть массив длиной 30 с 4 неверными значениями. Я хочу создать маску для этих плохих значений, но так как я буду использовать функции скользящего окна, я бы также хотел, чтобы фиксированное число последующих индексов после каждого плохого значения было помечено как плохое. Ниже n = 3:
Я хотел бы сделать это максимально эффективно, потому что эта процедура будет выполняться много раз на больших рядах данных, содержащих миллиарды точек данных. Таким образом, мне нужно максимально приближенное к крошечному векторизованному решению, потому что я бы хотел избежать петель Python.
Для избежания перепечатывания, вот массив:
import numpy as np
a = np.array([4, 0, 8, 5, 10, 9, np.nan, 1, 4, 9, 9, np.nan, np.nan, 9,\
9, 8, 0, 3, 7, 9, 2, 6, 7, 2, 9, 4, 1, 1, np.nan, 10])