我正在尝试计算如下所示的pandas数据框中2列的差。它分为3组,我正在尝试按组明智地执行以下操作。
M1 = High - Close
M2 = High - previous days close
M3 = Low - previous days close
基本上,我正在使用lambda函数来执行以下操作:
df['M1'] = df.groupby(['Commodity']).apply(lambda x: x['High'] -
x['Low']).reset_index()
M2 = lambda x: x['High'] - x['Close'].shift(1)
df['M2'] = df.groupby(['Commodity']).apply(M2).reset_index()
df['M3'] = df.groupby(['Commodity'])['Low'] - df.groupby(['Commodity'])
['Close'].shift(1)
(显然)我尝试了不同的选择,但它们似乎都不起作用。
任何帮助将不胜感激。预先感谢您的协助。