Панды: экспоненциальная скользящая средняя на периодических данных в DataFrame - PullRequest
0 голосов
/ 06 ноября 2018

Хорошо. У меня есть DataFrame со столбцом «Power», в котором сообщается о производстве панели, измеренной с интервалом в 30 минут.

Я бы хотел разработать «фильтр прогнозирования» для дня, день делится с интервалом в 30 минут, и для каждого интервала прогноз x использует «экспоненциальное взвешенное скользящее среднее, поэтому $ x» (i ) = \ alpha x '(i-1) + (1+ \ alpha) x (i) $ У меня есть фрейм данных с именем r, и я использовал следующий метод для добавления нового столбца с именем 'ewm', который выполняет вышеуказанную EWMA.

def myewm(data,alpha=0.5,w=48):
    data['ewm'] = 0
    for i in range(w):
        data.iloc[i::w,7] = data.iloc[i::w].Panel.ewm(alpha=0.5,adjust=False).mean()

Очевидно, я хочу знать, есть ли лучший способ сделать это, используя какой-либо другой вызов API Pandas. Обратите внимание, что функция .ewm не может быть использована для всех данных, так как в каждом слоте вы должны делать ewm данных этого слота. Может быть, с помощью группового? или другая функция для сбора данных, которые устраняют некоторые ограничения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...