Допустим, у меня есть фрейм данных:
States Col_A Col_B Col_C
---------------------- ----------- ---------- ---------
Alabama 10 40 70
Alabama 5 30 60
Alabama 15 20 80
Alaska 20 50 80
Alaska 20 40 100
И я хотел бы получить сумму (Col_A) * сумма (Col_B) / сумма (Col_ C), где суммы применяются отдельно для каждого состояния и поместите результаты в новый столбец с именем Col_D. Таким образом, в основном это будет выглядеть так:
States Col_A Col_B Col_C Col_D
---------------------- ----------- ---------- --------- ---------
Alabama 10 40 70 12.86
Alabama 5 30 60 12.86
Alabama 15 20 80 12.86
Alaska 20 50 80 20
Alaska 20 40 100 20
Где 12,86 равно (10 + 5 + 15) * (40 + 30 + 20) / (70 + 60 + 80).
Я пытаюсь использовать:
my_df['Col_D'] = my_df.groupby('States').apply(lambda x: sum(x['Col_A'])*sum(x['Col_B'])/sum(x['Col_C']),result_type = 'broadcast')
, но получаю сообщение об ошибке:
<lambda>() got an unexpected keyword argument 'result_type'
Это меня очень смущает, так как я пытаюсь получить ключевое слово аргумент result_type использоваться для функции apply, а не для лямбда-функции. И когда я пытаюсь применить ту же логику c на обычном фрейме данных (то есть не группировать), он работает отлично. Я что-то упустил?