У меня есть следующие df
,
year code col1 col2
2019 1 2 3
2019 1 3 5
2019 1 2 4
2018 2 1 4
2018 2 2 6
Я хочу groupby
df
на year
и code
, затем сложить различия между col2
и col1
, а затем усреднить сумму по размеру группы;
df.apply(lambda row: (row['col_2'] - row['col_1']).mean(level=[0, 1]).reset_index(name='avg_num')
этот код, по-видимому, вычисляет среднее значение различий, а не суммирует различия и делит их на размер группы, так как это исправить?
year code col1 col2 avg_num
2019 1 2 3 1.66
2019 1 3 5 1.66
2019 1 2 4 1.66
2018 2 1 4 3.5
2018 2 2 6 3.5