如何计算DataFrame中当前行open列与前一行close列的差值?
计算当前行open列与前一行close列的差值
原始DataFrame:
index open close 10 12 15 16 20 19
已知计算同一列内当前行与前一行的差值可使用df['diff'] = df['close'].diff(),但如果需要计算当前行open列数值 - 前一行close列数值,得到如下目标结果:
index open close diff_new_open_prev_close 10 12 NaN 15 16 3 20 19 4
可以通过shift()方法实现,代码如下:
df['diff_new_open_prev_close'] = df['open'] - df['close'].shift(1)
说明:
df['close'].shift(1)会将close列的所有数据向下偏移一行,首行填充为NaN- 用open列减去偏移后的close列,正好得到当前行open与前一行close的差值,完全匹配需求
内容的提问来源于stack exchange,提问作者user93796
相关产品推荐
相关产品推荐

