Итак, я хочу векторизовать цикл for, чтобы ускорить процесс.мой код следующий:
import numpy as np
import pandas as pd
def my_func(array, n):
return pd.Series(array).ewm(span = n, min_periods = n-1).mean().to_numpy()
np.random.seed(0)
data_size = 120000
data = np.random.uniform(0,1000, size = data_size)+29000
loop_size = 1000
step_size = 1
X = np.zeros([data.shape[0], loop_size])
parameter_array = np.arange(1,loop_size+ step_size, step_size)
for i in parameter_array:
X[:, i-1] = my_func(data, i)
Весь цикл for занимает около минуты, чтобы закончить, что может стать проблемой для будущего применения.Я уже проверил numpy.vectorize () , но в нем четко указано, что это только для удобства, поэтому его использование не ускорит код на порядок.
Мой вопрос заключается в том, есть ли способ векторизации цикла for, как этот?Если да, могу ли я увидеть простой пример того, как это можно сделать?
Заранее спасибо