Это можно понять, сравнив следующие 2 кадра данных: -
Пусть кадр данных будет
Doing df.groupby('B').sum()
дает
, в то время как, df.groupby('A').sum()
дает
* 1025 Итак, что делает groupby (). Sum (), так это то, что он берет элемент B, добавляет соответствующий элемент строки в A и C, а затем ищет повторение этого элемента в столбце B. Если он найден, он снова добавляет соответствующее значение A и C. Если он не найден, он переходит к следующему элементу в столбце B. Для более подробного объяснения в приведенном выше примере берется первый B = 2.0, для которого A = 1 и C = 2. Поскольку 2.0 не повторяется в столбце B теперь он переходит к B = 3.0, для которого A = 2 и C = 1, и так далее. Это вывод для groupby ('B'). Sum (). С другой стороны, когда df.groupby ('A') готов, сначала A = 1. Для этого соответствующие значения B = NaN, C = 1. Так как 1 повторяется в столбце A, sumB = NaN + 2.0 + 4.0 = 6, сумма C = 1 + 2 + 1 = 4. Теперь, когда все значения для A = 1 сделаны, оно переходит к A = 2. Опять же, для A = 2, sumB = 3.0 + 5.0 = 8 и sum C = 1 + 2 = 3. Это объясняет вывод, когда groupby ( «А») было сделано.
Для вашей задачи df.sum()
даст сумму всех 3 столбцов как
A 7.0
B 14.0
C 7.0
Если вы хотите получить сумму по строке, выполните df.sum(axis = 1)
Это даст
0 2.0
1 5.0
2 6.0
3 6.0
4 9.0