У меня есть решение этой проблемы, но мне нужна помощь в эффективности синтаксиса.Я написал это в SAS:
data lag;
set nflx;
lag_close = lag(close);
delta = (close-lag_close)/lag_close;
drop lag_close;
run;
Записав это на python, я пришел к следующему:
s1 = nflx.iloc[:,1]
s2 = s1.rename('Close2')
nflx2 = pd.concat([nflx,s2],axis=1)
Current = nflx2['Close']
Previous = nflx2['Close2']
Delta = (Current-Previous)/Previous
Delta = Delta.rename('Delta')
nflx3 = pd.concat([nflx2,Delta],axis=1)
nflx - это набор данных, который имеет два столбца, столбец 0 - дата, столбец 1закрыто, что является ценой закрытия акции.Моя цель - получить дельту столбца, которая является изменением текущей цены по сравнению с предыдущей ценой.Оба кода получают одинаковый результат, но я надеюсь на некоторую помощь в оптимизации кода Python.nflx - это DataFrame от pandas, который был импортирован из CSV-файла.
Я видел несколько тем на подобные темы, но ничего не помогало.
Заранее спасибо.