Pandas 获取偏移/滚动/移位为1的两列的差值

Pandas 获取偏移/滚动/移位为1的两列的差值,pandas,dataframe,series,rolling-computation,Pandas,Dataframe,Series,Rolling Computation,愚蠢的问题:我有两列A和B,我想创建一个新列,这实际上是当前B和以前的A之间的差异。前一行,例如,指当前行之前的行。如何实现这一点(甚至可能使用可变偏移) 目标: df | A | B | new_col | |---|----|----------| | 1 | 2 | nan (or2)| | 3 | 4 | 3 | | 5 | 10 | 7 | 伪代码: new_col[0] = B[0] - 0 new_col[1] = B[1] - A[0] ne

愚蠢的问题:我有两列
A
B
,我想创建一个
新列
,这实际上是当前
B
和以前的
A
之间的差异。前一行,例如,指当前行之前的行。如何实现这一点(甚至可能使用可变偏移)

目标:

df
| A | B  | new_col  |
|---|----|----------|
| 1 | 2  | nan (or2)|
| 3 | 4  | 3        |
| 5 | 10 | 7        |
伪代码:

new_col[0] = B[0] - 0
new_col[1] = B[1] - A[0]
new_col[2] = B[2] - A[1]

使用
系列。shift

df['new_col'] = df['B'] - df['A'].shift()

   A   B  new_col
0  1   2      NaN
1  3   4      3.0
2  5  10      7.0

明显的是-我被吸入数据帧选项
rolling(..)