Есть ли какие-либо пакеты в R (data.table / dplyr) или в Python, которые могут выполнять приведенный ниже код SQL каким-то последовательным и простым способом?
Можете ли вы поделиться некоторыми примерами этого?
Пример того, что мне нужно:
Мой входной фрейм данных (CSV, sep - ";", заголовки - True):
articule;group;is_new;ammount
1;fruits;1;100
2;fruits;1;200
3;fruits;1;300
4;fruits;0;400
5;frozen;0;500
6;frozen;0;600
7;frozen;0;700
8;frozen;1;800
Мой ожидаемый вывод (CSV, sep - ";", заголовки - True):
articule;group;is_new;ammount;sum_by_group;sum_by_group_is_new;result
1;fruits;1;100;1000;600;0.60
2;fruits;1;200;1000;600;0.60
3;fruits;1;300;1000;600;0.60
4;fruits;0;400;1000;400;0.40
5;frozen;0;500;2600;1800;0.69
6;frozen;0;600;2600;1800;0.69
7;frozen;0;700;2600;1800;0.69
8;frozen;1;800;2600;800;0.31
Мой код в SQL:
select a.*, sum_by_group_is_new / sum_by_group result from (
select a.*,
sum(ammount) over (partition by group) sum_by_group,
sum(ammount) over(partition by group, is_new) sum_by_group_is_new
from input_data_frame a
) a;
С уважением