У меня есть данные с индексом даты и времени в DataFrame
. Для каждой даты я хотел бы вычислить pct_change
для числа из предыдущего года.
import pandas as pd
import numpy as np
idx = pd.date_range('2019-01-01', periods=1000)
df = pd.DataFrame(np.arange(1000), index=idx)
Однако , я не хочу вычислить «предыдущий год» в тот же день и месяц. Вместо этого я хочу сравнить каждый день в 2020
с первым днем с таким же днем недели в 2019
. Что я имею в виду?
В 2020 году 1 января была средой. В 2019 году первая среда была 2 января. Таким образом, разница по дням недели будет [value at 2020-01-01]/[value at 2019-01-02]
.
Так что для сравнения 2020-2019 гг. Мне просто нужно знать, что есть положительное смещение +1, и, следовательно, go назад [365-1] дней для каждого сравнения. Каким будет общее решение c на два года?