получить дельту из предыдущего ряда - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть решение этой проблемы, но мне нужна помощь в эффективности синтаксиса.Я написал это в 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-файла.

Я видел несколько тем на подобные темы, но ничего не помогало.

Заранее спасибо.

1 Ответ

0 голосов
/ 23 сентября 2018

Я только что увидел этот ответ, я пошел и проверил его, и он отлично работает, намного лучше, чем мое оригинальное решение.Когда я вернулся, чтобы отметить это правильно, ответ исчез.Я ценю помощь.

Вот ответ:

nflx ['Delta'] = nflx.Close.pct_change ()

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