Как подсчитать значения из двух Dataframe, по разным строкам и нескольким условиям
имеется два Dataframe, у них есть 2 общих столбца. Нужно подсчитать количество значений исходя из данных нескольких столбцов. Есть ли возможность реализовать это без циклов, только возможностями pandas? Ссылка на таблицы для Dataframe: https://disk.yandex.ru/d/5lR5cUi-dhyOrA
df1
Out[58]:
name Type Type_2 Type_3
0 Ваня x G9 1
1 Ваня x D18 1
2 Ваня y G9 2
3 Ваня y D18 1
4 Вика x G9 3
5 Вика y D18 3
6 Леша x G9 2
7 Леша y D18 1
8 Леша y G9 2
df2
Out[59]:
name Type_2 Type_4
0 Ваня G9 4
1 Ваня D18 3
2 Вика G9 4
3 Вика D18 4
4 Леша G9 5
5 Леша D18 3
Должно получится так:
resdf
Out[61]:
name Type_count_1 Type_count_2 Type_count_3
0 Ваня q w e
1 Вика q w e
2 Леша q w e
Формулы примерно такие:
Q (x)= Type_4(Type_2) — Type_3(Type_2)
W (y) = Type_4(Type_2) — Type_3(Type_2)
E (y) = summ Type_3
то есть q это разница между значением столбца Type_4 и Type_3 с одинаковым значением Type_2 для строк с х в столбце Type в df1;
w - это тоже самое, только для значений y;
e - сумма значений столбца Type_3 для значений y.
Объяснил как мог, что-бы было понятно, если что попытаюсь разъяснить более понятно. Например для Вики:
q = 4 - 3 = 1
w = 4 - 3 = 1
e = 3
У других больше значений x и y, соответственно после будет сумма результатов