You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 05:15:39