Я пытаюсь вычислить разницу в 2 столбца в кадре данных панд, показанном ниже.У него есть 3 группы, и я пытаюсь выполнить операции, описанные ниже, по группам.
M1 = High - Close
M2 = High - previous days close
M3 = Low - previous days close
![enter image description here](https://i.stack.imgur.com/Jo6yM.png)
В основном я использую лямбда-функцию длясделайте это следующим образом:
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)
Я пробовал разные варианты (очевидно), но ни один из них, похоже, не работает.
Желаемый выход выглядит следующим образом: ![enter image description here](https://i.stack.imgur.com/d0bGa.png)
Любая помощь будет принята с благодарностью.Заранее благодарим за любую помощь.