Как погасить цикл в моем коде при расчете EMWA?Python

Программы на Python
Ответить
Anonymous
 Как погасить цикл в моем коде при расчете EMWA?

Сообщение Anonymous »

Я вычисляю значения EWMA для массива потока, и код выглядит следующим образом:

Код: Выделить всё

import polars as pl
import numpy as np

streamflow_data = np.arange(0, 20, 1)
adaptive_alphas = np.repeat(0.3, 20)
streamflow_series = pl.Series(streamflow_data)
ewma_data = np.zeros_like(streamflow_data)
for i in range(1, len(streamflow_series)):
current_alpha = adaptive_alphas[i]
ewma_data[i] = streamflow_series[:i+1].ewm_mean(alpha=current_alpha)[-1]
Но если длинаstreamflow_data очень велика (например, >100000), этот код станет очень медленным.
И как же это сделать? можно ли погасить в своем коде и не повлиять на его результат?
Надеюсь на ваш ответ.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ating-emwa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»