假设我要在股票的5天收益中创建新列.我正在使用熊猫数据框.我使用rolling_mean函数计算了移动平均值,但是我不确定如何像在电子表格(B6-B1)中那样引用直线.有谁知道我该怎么做索引引用和减法?
样本数据框:
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
解决方法:
您是否要这样:
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值.