所以我有一个类似的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