Вы можете суммировать, основываясь на именах столбцов, используя df['column_name'].sum(axis=1)
и указав, для какого столбца вы хотите получить результаты.
Простой пример ниже:
>>> df
a b c b e
0 1 5 dd 1 6
1 2 9 ee 1 10
2 3 1 ff 1 2
>>> df['f'] = df['b'].sum(axis=1)
>>> df
a b c b e f
0 1 5 dd 1 6 6
1 2 9 ee 1 10 10
2 3 1 ff 1 2 2
Обратите внимание, что это не таксуммируя каждое значение в строке, только значения из столбцов с именем 'b'.
Это работает, потому что когда вы вызываете столбец по имени и его дубликат, pandas
распознает этот факт.Например:
>>> df['a']
0 1
1 2
2 3
Name: a, dtype: int64
>>> df['b']
b b
0 5 1
1 9 1
2 1 1
>>> df.columns.get_loc('a')
0
>>> df.columns.get_loc('b')
array([False, True, False, True, False, False])
Я бы порекомендовал переименовать дубликаты имен столбцов и избежать неопределенности, связанной с наличием повторяющихся имен в будущем. Этот вопрос содержит множество предложений о том, как это сделать, а также о том, как этого избежать при импорте из других источников.