У меня есть временной ряд, например:
United Kingdom
Time (CET)
2020-02-15 1739771
2020-02-16 1649750
2020-02-17 1887394
2020-02-18 1922006
2020-02-19 1957194
2020-02-20 1878259
2020-02-21 1890076
2020-02-22 1677928
2020-02-23 1688218
2020-02-24 1948947
[...]
Я хотел бы создать новый столбец, который представляет собой градиент скользящего окна длиной 5. Таким образом, первая запись будет градиентом прямой линия, проходящая через [1739771, 1649750, 1887394, 1922006, 1957194]
, вторая - градиент прямой линии, проходящей через [1649750, 1887394, 1922006, 1957194, 1878259]
, и т. д.
Код для соответствия прямой линии и, следовательно, возврата градиента:
import numpy as np
Polynomial = np.polynomial.Polynomial
def fitcurve(sequence):
poly = Polynomial.fit(range(len(sequence)), sequence, 1)
a = poly.convert().coef
return a[0], a[1] # a[1] is the gradient we want.
Первые 4 записи в новом столбце должны быть NaN, и это нормально.
Как мне создать этот новый столбец?