из данных моделирования с переменной timestep У меня есть нерегулярный вектор времени в качестве индекса для моих значений, они хранятся в pandas.DataFrame.Создайте средневзвешенное значение для нерегулярных временных рядов в пандах
Рассмотрим упрощенный тестовый пример:
import pandas as pd
import datetime
time_vec = [datetime.time(0,0),datetime.time(0,0),datetime.time(0,5),datetime.time(0,7),datetime.time(0,10)]
df = pd.DataFrame([1,2,4,3,6],index = time_vec)
Используя обычный df.mean()
-функции приведет к ответу 3.2, который будет только справедливо, если время вектор будет равноудалена.
Я думаю, что правильный результат будет 3,55, что и для первого временного интервала (с нулевым числом секунд), среднее значение равно 1,5, для второго временного интервала среднее значение равно 3 (пять минут) и т. Д., Это приводит к:
1.5 * 0 + 3*5 + 3.5 * 2 + 4.5 * 3 = 35.5
, в результате чего получается среднее значение 3.55 (35.5/(0 + 5 + 2 + 3)).
Есть ли эффективный способ сделать это с помощью панд?
Это должно, наконец, привести к чему-то вроде
df.resample('15M',how = 'This very Method I am looking for')
создать средние значения с равноудаленной времени вектора.