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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *