У меня есть массив numpy, содержащий разрывы различных размеров. Я хотел бы заполнить меньшие промежутки размера < N с линейной интерполяцией.идентификация размера зазора в массиве 1D numpy
Другими словами для:
N = 2
и
x = np.array([10., 20., np.nan, 40., 50., np.nan, np.nan, np.nan, 10.,0.,-10.])
Я хотел бы, чтобы заполнить третью позицию (индекс 2) с 30,0.
Я открыт для алгоритмических подходов, но мое намерение состояло в том, чтобы создать массив, который будет индикатором размера локального разрыва:
[0 0 1 0 0 3 3 3 0 0]
или разрыв слишком большой:
[0 0 0 0 0 1 1 1 0 0]
С этим в руке я могу записывать показатели недостатков, которые достаточно малы и использовать interp1d. Есть ли экономичный, функциональный способ сделать это? Я знаю, как это сделать с помощью цикла с предварительным знаком.
Спасибо,
Эли
Таким образом, в первом массиве (' [0 0 1 0 0 3 3 3 0 0] ')' 1' и '3' указывают количество последовательных элементов без« правильного »номера? – SethMMorton
Точно, SethMMorton. –