вставить суммирующий столбец в DataFrame Pandas
Голову сломал, как вставить в имеющийся DataFrame новый столбец, полученный суммированием значений слайса столбцов DataFrame?
Допустим, есть DataFrame:
type 01 02 03 04 05 06 07 08 09 10 11 12
t1 1 1 1 1 1 1 1 1 1 1 1 1
t2 2 2 2 2 2 2 2 2 2 2 2 2
t3 1 2 3 4 5 6 7 8 9 10 11 12
Хочу получить:
type 01 02 03 04 05 06 07 08 09 10 11 12 total
t1 1 1 1 1 1 1 1 1 1 1 1 1 12
t2 2 2 2 2 2 2 2 2 2 2 2 2 24
t3 1 2 3 4 5 6 7 8 9 10 11 12 78
Допустим, df = pd.DataFrame(np.random.randn(8, 3), columns=['A', 'B', 'C']).
Пока придумал только: df['total'] = df.transpose().sum().transpose()
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
воспользуйтесь методом .sum(axis=1)
In [9]: df["total"] = df.iloc[:, 1:].sum(axis=1)
результат:
In [10]: df
Out[10]:
type 01 02 03 04 ... 09 10 11 12 total
0 t1 1 1 1 1 ... 1 1 1 1 12
1 t2 2 2 2 2 ... 2 2 2 2 24
2 t3 1 2 3 4 ... 9 10 11 12 78
[3 rows x 14 columns]