从连续行中的两个不同列中减去两个时间戳



所以我有一个类似的Panda数据帧

a  b
0  1  3
1  7  8
2  11 3
3  9  1

我想从有上一个索引的a列中减去b列,例如b[1]=8和a[0]=1,然后b[1]-a[0]=7,这将在c[1]中

a  b  c
0  1  3  -
1  7  8  7
2  11 3  -4
3  9  1  -10

我该怎么做?感谢您的时间和帮助:(

通过Series.shift:使用值移位的Series.sub

df['c'] = df['b'].sub(df['a'].shift())
print (df)
a  b     c
0   1  3   NaN
1   7  8   7.0
2  11  3  -4.0
3   9  1 -10.0

对于整数,通过转换为Int64:使用integer na

df['c'] = df['b'].sub(df['a'].shift(1)).astype('Int64')
print (df)
a  b     c
0   1  3  <NA>
1   7  8     7
2  11  3    -4
3   9  1   -10

最新更新