Kolumna sum pandas

Kolumna sum pandas

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

  1. oś: kolumny (1), indeks (0)
  2. Skipna: Zignoruj ​​wartości NA/NULL podczas obliczania wyniku.
  3. poziom: Jeśli określona oś jest hierarchiczna (multiindex), policz do określonego poziomu indeksu przed konwersją na serię.
  4. numeric_only: Po prostu kolumny Float, Int i Boolean są dopuszczalne. Jeśli nie, spróbuj użyć wszystkiego; Jeśli nie, tylko dane liczbowe. Dla serii, nie zaimplementowane.
  5. min_count: Liczba możliwych wartości wymaganych do ukończenia operacji. Wynik będzie wynosić, jeśli obecnych jest mniej wartości nie-NA niż min_count.

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

  1. Suma wartości w kolumnie punktów 1 wynosi 871.
  2. Suma wartości w kolumnie punktów 2 wynosi 374.
  3. Suma wartości w kolumnie punktów 3 to 3242.

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

  1. Dodaj wartości w kolumnach punktów 1 i punktu2 i przechowuj wynik w „2 dodanekolumna.
  2. Dodaj wartości w punktach1, punktach2 i punktach3 kolumny i przechowuj wynik w '3 dodanekolumna.
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.