Come eseguire una funzione somma.se in pandas
È possibile utilizzare la seguente sintassi per trovare la somma delle righe in un DataFrame panda che soddisfa determinati criteri:
#find sum of each column, grouped by one column
df. groupby (' group_column '). sum ()
#find sum of one specific column, grouped by one column
df. groupby (' group_column ')[' sum_column ']. sum ()
I seguenti esempi mostrano come utilizzare questa sintassi con il seguente frame di dati:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['a', 'a', 'b', 'b', 'b', 'c', 'c'],
' points ': [5, 8, 14, 18, 5, 7, 7],
' assists ': [8, 8, 9, 3, 8, 7, 4],
' rebounds ': [1, 2, 2, 1, 0, 4, 1]})
#view DataFrame
df
team points assists rebounds
0 to 5 8 1
1 to 8 8 2
2 b 14 9 2
3 b 18 3 1
4 b 5 8 0
5 c 7 7 4
6 c 7 4 1
Esempio 1: eseguire una funzione SOMMA.SE su una colonna
Il codice seguente mostra come trovare la somma dei punti per ciascuna squadra:
df. groupby (' team ')[' points ']. sum ()
team
at 13
b 37
c 14
Questo ci dice:
- La squadra “a” ha segnato un totale di 13 punti
- La squadra “b” ha segnato un totale di 37 punti
- La squadra “c” ha segnato un totale di 14 punti
Esempio 2: eseguire una funzione SOMMA.SE su più colonne
Il codice seguente mostra come trovare la somma dei punti e dei rimbalzi per ciascuna squadra:
df. groupby (' team ')[[' points ', ' rebounds ']]. sum ()
rebound points
team
at 13 3
b 37 3
c 14 5
Esempio 3: eseguire una funzione SOMMA.SE su tutte le colonne
Il codice seguente mostra come trovare la somma di tutte le colonne nel frame di dati per ciascuna squadra:
df. groupby (' team '). sum ()
points assists rebounds
team
a 13 16 3
b 37 20 3
c 14 11 5
Risorse addizionali
Come eseguire una funzione COUNTIF in Pandas
Come contare gli avvistamenti di gruppo nei panda
Come trovare il valore massimo per gruppo su Pandas