У меня есть файл с несколькими столбцами. Для простоты ниже показаны первые три группы (А1, А2 и А3):
Column1 Column2 Column3
A1 45 50
A1 70 90
A1 100 150
A2 500 510
A2 550 600
A3 1000 1100
Я хочу получить последовательное отличие от двух последних столбцов для каждой группы в отдельности. И среднее из этих последовательных различий на группу.
Ожидаемый результат будет:
Column1 Column2 Column3 Column4 Column5
A1 45 50 70-50 = 20
A1 70 90 100-90 = 10 15
A1 100 150
A2 500 510 550-510 = 40
A2 550 600
A3 1000 1100
Здесь я сохраняю данные в фрейме данных и пытаюсь получить ожидаемый результат.
Мой код выглядит так:
df[output]= ([((float(df['Column3']) - float(df['Column2'].shift(-1)))*-1)/float(len(report_map1[i]))])
Мне интересно, есть ли какой-нибудь более простой способ получить ожидаемый результат?