Я пытаюсь создать эффективную функцию для повторной выборки данных временных рядов.
Предположение: Оба набора данных временных рядов имеют одинаковое время начала и окончания.(Я делаю это на отдельном шаге.)
Функция повторной выборки (неэффективно)
import numpy as np
def resample(desired_time_sequence, data_sequence):
downsampling_indices = np.linspace(0, len(data_sequence)-1, len(desired_time_sequence)).round().astype(int)
downsampled_array = [data_sequence[ind] for ind in downsampling_indices]
return downsampled_array
Скоростное тестирование
import timeit
def test_speed(): resample([1,2,3], [.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6])
print(timeit.timeit(test_speed, number=100000))
# 1.5003695999998854
Интересно услышать любые предложения.