Короткая версия
Это соглашение об именах.Сумма столбцов дает построчную сумму.Вы ищете axis='columns')
.
Длинная версия
Хорошо, это было интересно.В пандах обычно 0 для столбцов и 1 для строк.Однако, взглянув на документы , мы обнаружим, что разрешенными параметрами являются:
ось: {индекс (0), столбцы (1)}
Вы передаете несуществующий параметр, который приводит к значению по умолчанию.Таким образом, это может быть прочитано как: Сумма столбцов возвращает сумму строки.Сумма индекса возвращает сумму столбца.То, что вы хотите использовать axis=1
или axis='columns'
, что приводит к желаемому результату:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.arange(1,13).reshape(4,3), columns=list('abc'))
print(df.sum(axis=1))
Возвращает:
0 6
1 15
2 24
3 33
dtype: int64