У меня есть два набора точек, координаты которых хранятся в массивах X1 Y1 и X2 Y2 соответственно.У нас не одинаковое количество точек в наборах 1 и 2.
Я пытаюсь замаскировать самый длинный массив Y (он всегда будет известен), чтобы получитьзначение Y точек, доступных в обоих наборах.Для контекста, это потому, что я хочу вычислить коэффициент корреляции между необработанными экспериментальными данными и скользящими усредненными данными.Скользящее среднее обрезает несколько точек (столько же, сколько и выбранная ширина окна усреднения), поэтому массив необработанных данных всегда больше.
Я пробовал это, но он работает только тогда, когда X1 и X2 имеют одинаковый размер:
# Base data
X1 = np.array([1,2,3,4,5])
Y1 = np.array([10,20,30,40,50])
X2 = np.array([2,3,4])
Y2 = np.array([200,300,400])
# Y data that share an X
Y1_with_common_X = Y1[X1 == X2] # expected result: y2 == np.array([20,30,40])
# analyze the cropped data (this function is already written and works fine)
R2 = correlation(Y2, Y1_with_common_X)
Как сделать для массивов разного размера?Заранее спасибо.
Редактировать: вот картинка, она понятнее.![enter image description here](https://i.stack.imgur.com/e5dNt.png)