La differenza tra asse=0 e asse=1 nei panda
Molte funzioni in Panda richiedono di specificare un asse lungo il quale applicare un determinato calcolo.
In generale vale la seguente regola pratica:
- asse=0 : applica il calcolo “per colonna”.
- asse=1 : applica il calcolo “per riga”.
Gli esempi seguenti mostrano come utilizzare l’argomento dell’asse in diversi scenari con i seguenti DataFrame panda:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
' points ': [25, 12, 15, 14, 19, 23, 25, 29],
' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})
#view DataFrame
df
team points assists rebounds
0 to 25 5 11
1 to 12 7 8
2 B 15 7 10
3 B 14 9 6
4 B 19 12 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12
Esempio 1: trovare la media lungo diversi assi
Possiamo usare axis=0 per trovare la media di ogni colonna nel DataFrame:
#find mean of each column
df. mean (axis= 0 )
points 20.250
assists 7,750
rebounds 8,375
dtype:float64
L’output visualizza il valore medio di ciascuna colonna numerica nel DataFrame.
Tieni presente che i panda evitano automaticamente di calcolare la media della colonna “squadra” perché è una colonna di personaggi.
Possiamo anche usare axis=1 per trovare la media di ogni riga nel DataFrame:
#find mean of each row
df. mean (axis= 1 )
0 13.666667
1 9.000000
2 10.666667
3 9.666667
4 12.333333
5 12.333333
6 14.333333
7 15.000000
dtype:float64
Dal risultato possiamo vedere:
- Il valore medio della prima riga è 13.667 .
- Il valore medio nella seconda riga è 9000 .
- Il valore medio nella terza riga è 10.667 .
E così via.
Esempio 2: trovare la somma lungo assi diversi
Possiamo usare axis=0 per trovare la somma di colonne specifiche nel DataFrame:
#find sum of 'points' and 'assists' columns
df[[' points ', ' assists ']]. sum (axis= 0 )
points 162
assists 62
dtype: int64
Possiamo anche usare axis=1 per trovare la somma di ogni riga nel DataFrame:
#find sum of each row
df. sum (axis= 1 )
0 41
1 27
2 32
3 29
4 37
5 37
6 43
7 45
dtype: int64
Esempio 3: trovare Max lungo assi diversi
Possiamo usare axis=0 per trovare il valore massimo di colonne specifiche nel DataFrame:
#find max of 'points', 'assists', and 'rebounds' columns
df[[' points ', ' assists ', ' rebounds ']]. max (axis= 0 )
points 29
assists 12
rebounds 12
dtype: int64
Possiamo anche usare axis=1 per trovare il valore massimo di ogni riga nel DataFrame:
#find max of each row
df. max (axis= 1 )
0 25
1 12
2 15
3 14
4 19
5 23
6 25
7 29
dtype: int64
Dal risultato possiamo vedere:
- Il valore massimo nella prima riga è 25 .
- Il valore massimo nella seconda riga è 12 .
- Il valore massimo nella terza riga è 15 .
E così via.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:
Come calcolare la media delle colonne in Pandas
Come calcolare la somma delle colonne in Pandas
Come trovare il valore massimo delle colonne in Pandas