Pandas Groupby разница 2 или более столбцов - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь вычислить разницу в 2 столбца в кадре данных панд, показанном ниже.У него есть 3 группы, и я пытаюсь выполнить операции, описанные ниже, по группам.

M1 = High - Close
M2 = High - previous days close
M3 = Low - previous days close

enter image description here

В основном я использую лямбда-функцию длясделайте это следующим образом:

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

Любая помощь будет принята с благодарностью.Заранее благодарим за любую помощь.

...