我有一个数据框,其中包含一列价格。 创建一列计算两行之间的返回率(保留第一行或最后一行为空)的最佳方法是什么。
例如,数据框如下所示:
Date Price
2008-11-21 23.400000
2008-11-24 26.990000
2008-11-25 28.000000
2008-11-26 25.830000
尝试按如下方式添加列:
Date Price Return
2008-11-21 23.400000 0.1534
2008-11-24 26.990000 0.0374
2008-11-25 28.000000 -0.0775
2008-11-26 25.830000 NaN
其中返回列的计算如下:
返回行 0 = 价格行 1/价格行 0 - 1
我应该for循环,还是有更好的方法?
最佳答案
In [44]:
df['Return'] = (df['Price'].shift(-1).div(df['Price']) - 1)
df
Out[44]:
Date Price Return
0 2008-11-21 23.40 0.153419
1 2008-11-24 26.99 0.037421
2 2008-11-25 28.00 -0.077500
3 2008-11-26 25.83 NaN
关于python - 根据另一列中的两行计算数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40803448/