Сначала вам нужно иметь уникальный идентификатор для строк, которые нужно объединить, т.е.
uq_grp Name c1 c2 c3 c4
grp1 a1 1 2 2 3
grp1 a2 2 1 1 2
grp2 a3 3 1 2 1
grp2 a4 2 3 3 4
grp3 b1 1 2 2 3
grp3 b2 3 1 2 1
uq_grp в основном определяет, какие строки нужно объединить
Теперь сделайте следующее:
df['c1+c2'] = df['c1']+df['c2']
df['c3+c4'] = df['c3']+df['c4']
uq_grp Name c1 c2 c3 c4 c1+c2 c3+c4
grp1 a1 1 2 2 3 3 5
grp1 a2 2 1 1 2 3 3
grp2 a3 3 1 2 1 4 3
grp2 a4 2 3 3 4 5 7
grp3 b1 1 2 2 3 3 5
grp3 b2 3 1 2 1 4 3
Теперь объединяем строки на основе uq_grp
df.groupby(['uq_grp'],as_index=False)[['c1+c2','c3+c4']].sum()
результат
Name c1+c2 c3+c4
0 grp1 6 8
1 grp2 9 10
2 grp3 7 8
....