W tym artykule pokaże, jak zsumować całość lub określone kolumny w ramce danych pandas za pomocą Pythona. MAME DATAFRAME.Funkcja sum () będzie używana wraz z kilkoma pomocnymi parametrami w licznych przykładach tego samouczka.
„DataFrame.SUM () „Funkcja w pandy zwraca całkowitą sumę dla określonej osi. Jeśli wejście jest osi indeksu, funkcja dodaje wartości każdej kolumny indywidualnie. Następnie robi to samo dla każdej kolumny, zwracając serię przechowywaną sumę danych/wartości w każdej kolumnie. Dodatkowo obsługuje obliczenie sumy DataFrame poprzez ignorowanie brakujących wartości.
Składnia
Pandy.DataFrame_Object.sum (axis = brak, skipna = brak, poziom = brak, numeric_only = brak, min_count = 0, ** kwargs)
Parametry
Powrót
DataFrame (jeśli określono poziom) lub seria.
Ramka danych
W przypadku wszystkich przykładów użyjemy następującej „analizy” danych danych. Mieści 12 wierszy z 5 kolumnami.
importować pandy
# Utwórz ramę danych za pomocą list
Analiza = pandy.DataFrame ([[23, „Sravan”, 1000,34,56],
[23, „Sravan”, 700,11,0],
[23, „Sravan”, 20,4,2],
[21, „Siva”, 400,32,45],
[21, „Siva”, 100 456,78],
[23, „Sravan”, 00,90,12],
[21, „Siva”, 400,32,45],
[20, „Sahaja”, 120,1,67],
[23, „Sravan”, 00,90,12],
[22, „Suryam”, 450,76,56],
[22, „Suryam”, 40,0,1],
[22, „Suryam”, 12,45,0]
], kolumny = [„id”, „name”, „punkty3”, „punkty1”, „punkty2”])
# Wyświetl DataFrame - Analiza
Drukuj (analiza)
Wyjście
nazwa identyfikatora punktów3 punkty 1 punkty22
0 23 Sravan 1000 34 56
1 23 Sravan 700 11 0
2 23 Sravan 20 4 2
3 21 Siva 400 32 45
4 21 Siva 100 456 78
5 23 Sravan 0 90 12
6 21 Siva 400 32 45
7 20 Sahaja 120 1 67
8 23 Sravan 0 90 12
9 22 Suryam 450 76 56
10 22 Suryam 40 0 1
11 22 Suryam 12 45 0
Tutaj kolumny „id”, „punkty3”, „punkty2” i „punkty.
Scenariusz 1: suma wszystkich kolumn
Możemy bezpośrednio zastosować sum () w ramce danych, aby zwrócić sumę wartości w każdej kolumnie.
Pandy.DataFrame_Object.suma()
Przykład
# Zwróć sumę wartości we wszystkich kolumnach
Drukuj (analiza.suma())
Wyjście
ID 264
Nazwa sravansravansravansivasivasravansivasahajasrav…
Punkty3 3242
Punkty1 871
Punkty 2 374
Wyjaśnienie
Widać, że suma wartości w każdej kolumnie jest zwracana.
Scenariusz 2: suma określonej kolumny
Jeśli chcesz zwrócić sumę wartości w określonej kolumnie, musisz określić nazwę kolumny i obiekt DataFrame.
Pandy.DataFrame_Object ['kolumna'].suma()
Przykład
Zwróćmy sumę wartości w kolumnach „Points1”, „Points2” i „Points3” osobno.
# Zwróć sumę wartości w kolumnie Points1
Drukuj (analiza [„Points1”].suma())
# Zwróć sumę wartości w kolumnie Points2
Drukuj (analiza [„punkty 2”].suma())
# Zwróć sumę wartości w kolumnie punktów3
druk (analiza [„punkty 3”].suma())
Wyjście
871
374
3242
Wyjaśnienie
Scenariusz 3: suma w rzędach
Jeśli chcesz zwrócić sumę wartości w każdym wierszu, musisz określić parametr osi w funkcji sum () i ustawić go na 1.
Pandy.DataFrame_Object [[kolumna/s…]].suma (oś = 1)
Przykład
Zwróćmy sumę wartości „Punkty.
# Zwróć sumę wartości w każdym rzędzie
Analiza [„sum”] = analiza [['Points1', 'Points2', 'Points3']].suma (oś = 1)
Drukuj (analiza)
Wyjście
nazwa identyfikatora punktów 3 punkty 1 suma 2 suma
0 23 Sravan 1000 34 56 1090
1 23 Sravan 700 11 0 711
2 23 Sravan 20 4 2 26
3 21 Siva 400 32 45 477
4 21 Siva 100 456 78 634
5 23 Sravan 0 90 12 102
6 21 Siva 400 32 45 477
7 20 Sahaja 120 1 67 188
8 23 Sravan 0 90 12 102
9 22 Suryam 450 76 56 582
10 22 Suryam 40 0 1 41
11 22 Suryam 12 45 0 57
Wyjaśnienie
Teraz nowa kolumna - „suma” zawiera sumę trzech punktów.
Możemy również dodawać rzędy bez użycia sum (). Korzystając z operatora „+”, możemy osiągnąć poprzednią funkcjonalność.
Przykład
importować pandy
# Utwórz ramę danych za pomocą list
Analiza = pandy.DataFrame ([[23, „Sravan”, 1000,34,56],
[23, „Sravan”, 700,11,0],
[23, „Sravan”, 20,4,2],
[21, „Siva”, 400,32,45],
[21, „Siva”, 100 456,78],
[23, „Sravan”, 00,90,12],
[21, „Siva”, 400,32,45],
[20, „Sahaja”, 120,1,67],
[23, „Sravan”, 00,90,12],
[22, „Suryam”, 450,76,56],
[22, „Suryam”, 40,0,1],
[22, „Suryam”, 12,45,0]
], kolumny = [„id”, „name”, „punkty3”, „punkty1”, „punkty2”])
# Dodaj wartości w punktach1 i punktach2 kolumnach i przechowuj wynik w kolumnie „2 dodane”
Analiza ['2 dodane'] = Analiza ['Points1']+Analiza ['Points2']
# Dodaj wartości w punktach1, punktach2 i punktach2Columns i przechowuj wynik w kolumnie „3 dodane”
Analiza ['3 dodane'] = Analiza ['Punkty
Drukuj (analiza)
Wyjście
nazwa identyfikatora punktów3 Points12 2 Dodano 3 dodane
0 23 Sravan 1000 34 56 90 1090
1 23 Sravan 700 11 0 11 711
2 23 Sravan 20 4 2 6 26
3 21 Siva 400 32 45 77 477
4 21 Siva 100 456 78 534 634
5 23 Sravan 0 90 12 102 102
6 21 Siva 400 32 45 77 477
7 20 Sahaja 120 1 67 68 188
8 23 Sravan 0 90 12 102 102
9 22 Suryam 450 76 56 132 582
10 22 Suryam 40 0 1 1 41
11 22 Suryam 12 45 0 45 57
Scenariusz 4: sum () z GroupBy ()
Jeśli chcesz zwrócić sumę wartości dla poszczególnych grup, musisz użyć grupy () z sum (). Więc GroupBy () jest używany do grupowania wartości kolumny w określonej kolumnie, a sum () zwróci sumę w każdej grupie.
Pandy.DataFrame_Object.GroupBy („Grouping_Column”).suma()
Przykład
Zmieńmy rzędy na podstawie kolumny nazwy i zwróć sumę wartości w każdej grupie dla wszystkich kolumn.
importować pandy
# Utwórz ramę danych za pomocą list
Analiza = pandy.DataFrame ([[23, „Sravan”, 1000,34,56],
[23, „Sravan”, 700,11,0],
[23, „Sravan”, 20,4,2],
[21, „Siva”, 400,32,45],
[21, „Siva”, 100 456,78],
[23, „Sravan”, 00,90,12],
[21, „Siva”, 400,32,45],
[20, „Sahaja”, 120,1,67],
[23, „Sravan”, 00,90,12],
[22, „Suryam”, 450,76,56],
[22, „Suryam”, 40,0,1],
[22, „Suryam”, 12,45,0]
], kolumny = [„id”, „name”, „punkty3”, „punkty1”, „punkty2”])
# Zmień wiersze na podstawie kolumny nazwy i zwróć sumę wartości w każdej grupie dla wszystkich kolumn
Drukuj (analiza.Groupby („Nazwa”).suma())
Wyjście
Id Punkty 3 punkty 1 punkty22
nazwa
Sahaja 20 120 1 67
Siva 63 900 520 168
Sravan 115 1720 229 82
Suryam 66 502 121 57
Wyjaśnienie
Więc w kolumnie „Nazwa” są 4 grupy. Dla każdej grupy zwraca suma identyfikatora, punktów3, punktów 1 i punktów 2.
Wniosek
Próbowaliśmy nauczyć Cię, jak obliczyć sumę między ramami danych za pomocą metody pandas sum (). Omówiliśmy rzędowe i kolumnowe dodanie wartości w przykładach tego postu. Dodatkowo nauczyłeś się warunkowo dodawać kolumny i jak sumować wartości po zgrupowaniu kolumny ramki danych. Teraz możesz być w stanie sumować kolumny ramki danych lub sumować wartości w kolumnie DataFrame.