在某些给定条件下熊猫数据框中2列的差异

时间:2020-06-15 08:57:02

标签: python pandas pandas-groupby

enter image description here

我有一张这样的床单。我需要计算特定的“ INSTRUMENT”和“ SYMBOL”的“ CURRENT HIGH”-“上一交易日收盘价”的绝对值。
因此,我使用了pandas数据框的.shift(1)函数创建了一个滞后的关闭列,然后我减去当前的HIGH和滞后的关闭列,但还要减去2个不同的“ INSTRUMENTS”和“ SYMBOL”。但是,如果出现新的SYMBOL或INSTRUMENTS,我希望第一行为NULL,而不是减去当前的HIGH和滞后的close列。
我该怎么办?

1 个答案:

答案 0 :(得分:1)

我相信每组连续几天都是这样:

df['new'] = df['HIGH'].sub(df.groupby(['INSTRUMENT','SYMBOL'])['CLOSE'].shift())