我有一个df如下
index open close
10 12
15 16
20 19
要查找同一列前一行之间的差异,可以使用
df['diff] = df['close'].diff()
但是我想找到当前打开和先前关闭之间的差异。我该怎么做呢?
index open close diff_new_open_prev_close
10 12. Nan
15 16. 3
20 19. 4
diff = current rows open - prev rows close
您可以使用pandas.DataFrame.shift
df['prev_close'] = df['close'].shift()
df['diff_new_open_prev_close'] = df['open'] - df['prev_close']
print(df)
# Or
df['diff_new_open_prev_close'] = df['open'].subtract(df['close'].shift())
输出:
open close prev_close diff_new_open_prev_close
0 10 12 NaN NaN
1 15 16 12.0 3.0
2 20 19 16.0 4.0