Я думаю, что одним из решений было бы преобразование данных в согласованный формат:
A = np.array([1, 1.5, 4.5, 5])
B = np.array([1, 2.5, 3.5, 5])
scroll = np.linspace(1,5,11)
A_idx = np.searchsorted(A, scroll)
B_idx = np.searchsorted(B, scroll)
>>> scroll
array([1. , 1.4, 1.8, 2.2, 2.6, 3. , 3.4, 3.8, 4.2, 4.6, 5. ])
>>> A[A_idx]
array([1. , 1.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 5. , 5. ])
>>> B[B_idx]
array([1. , 2.5, 2.5, 2.5, 3.5, 3.5, 3.5, 5. , 5. , 5. , 5. ])
Возможно, вам следует быть осторожным с тем, используете ли вы значения, ориентированные на будущее или назад (здесь это прогноз), но он обновится, когда появятся новые данные.