我有一张这样的床单。我需要计算特定的“ INSTRUMENT”和“ SYMBOL”的“ CURRENT HIGH”-“上一交易日收盘价”的绝对值。
因此,我使用了pandas数据框的.shift(1)函数创建了一个滞后的关闭列,然后我减去当前的HIGH和滞后的关闭列,但还要减去2个不同的“ INSTRUMENTS”和“ SYMBOL”。但是,如果出现新的SYMBOL或INSTRUMENTS,我希望第一行为NULL,而不是减去当前的HIGH和滞后的close列。
我该怎么办?
答案 0 :(得分:1)
我相信每组连续几天都是这样:
df['new'] = df['HIGH'].sub(df.groupby(['INSTRUMENT','SYMBOL'])['CLOSE'].shift())