2015-05-15 3 views
3

Я хочу сделать новый столбец 5-дневного возврата для акции, скажем так. Я использую dataframe pandas. Я вычислил скользящее среднее с помощью функции roll_mean, но я не уверен, как ссылаться на строки, например, на таблицу (B6-B1). Кто-нибудь знает, как я могу сделать эту ссылку и вычитание индекса?Я хочу получить относительный индекс столбца в pandas dataframe

рамки выборки данных:

day price 5-day-return 
1  10   - 
2  11   - 
3  15   - 
4  14   - 
5  12   - 
6  18   i want to find this ((day 5 price) -(day 1 price)) 
7  20   then continue this down the list 
8  19 
9  21 
10  22 

ответ

3

Вы желая этого:

In [10]: 

df['5-day-return'] = (df['price'] - df['price'].shift(5)).fillna(0) 
df 
Out[10]: 
    day price 5-day-return 
0 1  10    0 
1 2  11    0 
2 3  15    0 
3 4  14    0 
4 5  12    0 
5 6  18    8 
6 7  20    9 
7 8  19    4 
8 9  21    7 
9 10  22   10 

shift возвращает строку в определенное смещение, мы используем это, чтобы вычесть из текущей строки. fillna заполняет значения NaN, которые будут выполняться до первого действительного расчета.

+0

Именно то, что я искал. Спасибо, блестящий незнакомец –

Смежные вопросы