La différence entre axis=0 et axis=1 dans Pandas



De nombreuses fonctions dans pandas nécessitent que vous spécifiiez un axe le long duquel appliquer un certain calcul.

Généralement, la règle empirique suivante s’applique :

  • axis=0 : Appliquer le calcul « par colonne »
  • axis=1 : Appliquer le calcul « par ligne »

Les exemples suivants montrent comment utiliser l’argument axis dans différents scénarios avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
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	A	25	5	11
1	A	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

Exemple 1 : Trouver la moyenne selon différents axes

Nous pouvons utiliser axis=0 pour trouver la moyenne de chaque colonne du DataFrame :

#find mean of each column
df.mean(axis=0)

points      20.250
assists      7.750
rebounds     8.375
dtype: float64

La sortie affiche la valeur moyenne de chaque colonne numérique du DataFrame.

Notez que pandas évite automatiquement de calculer la moyenne de la colonne « équipe » car il s’agit d’une colonne de caractères.

Nous pouvons également utiliser axis=1 pour trouver la moyenne de chaque ligne du 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

À partir du résultat, nous pouvons voir :

  • La valeur moyenne de la première ligne est de 13,667 .
  • La valeur moyenne dans la deuxième ligne est de 9 000 .
  • La valeur moyenne dans la troisième ligne est 10,667 .

Et ainsi de suite.

Exemple 2 : Trouver la somme selon différents axes

Nous pouvons utiliser axis=0 pour trouver la somme de colonnes spécifiques dans le DataFrame :

#find sum of 'points' and 'assists' columns
df[['points', 'assists']].sum(axis=0)

points     162
assists     62
dtype: int64

Nous pouvons également utiliser axis=1 pour trouver la somme de chaque ligne du 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

Exemple 3 : Trouver Max le long de différents axes

Nous pouvons utiliser axis=0 pour trouver la valeur maximale de colonnes spécifiques dans le DataFrame :

#find max of 'points', 'assists', and 'rebounds' columns
df[['points', 'assists', 'rebounds']].max(axis=0)

points      29
assists     12
rebounds    12
dtype: int64

Nous pouvons également utiliser axis=1 pour trouver la valeur maximale de chaque ligne du 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

À partir du résultat, nous pouvons voir :

  • La valeur maximale dans la première ligne est 25 .
  • La valeur maximale dans la deuxième ligne est 12 .
  • La valeur maximale dans la troisième ligne est 15 .

Et ainsi de suite.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment calculer la moyenne des colonnes dans Pandas
Comment calculer la somme des colonnes dans Pandas
Comment trouver la valeur maximale des colonnes dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *