Der unterschied zwischen achse=0 und achse=1 in pandas


Bei vielen Funktionen in Pandas müssen Sie eine Achse angeben, entlang derer eine bestimmte Berechnung angewendet werden soll.

Generell gilt folgende Faustregel:

  • axis=0 : Wenden Sie die Berechnung „pro Spalte“ an
  • axis=1 : Wenden Sie die Berechnung „pro Zeile“ an

Die folgenden Beispiele zeigen, wie das Achsenargument in verschiedenen Szenarien mit dem folgenden Pandas-DataFrame verwendet wird:

 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

Beispiel 1: Ermittlung des Durchschnitts entlang verschiedener Achsen

Wir können axis=0 verwenden, um den Durchschnitt jeder Spalte im DataFrame zu ermitteln:

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

points 20.250
assists 7,750
rebounds 8,375
dtype:float64

Die Ausgabe zeigt den Durchschnittswert jeder numerischen Spalte im DataFrame an.

Beachten Sie, dass Pandas automatisch die Mittelung der Spalte „Team“ vermeidet, da es sich um eine Charakterspalte handelt.

Wir können auch axis=1 verwenden, um den Durchschnitt jeder Zeile im DataFrame zu ermitteln:

 #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

Aus dem Ergebnis können wir sehen:

  • Der Durchschnittswert der ersten Zeile beträgt 13,667 .
  • Der Durchschnittswert in der zweiten Zeile beträgt 9000 .
  • Der Durchschnittswert in der dritten Reihe beträgt 10.667 .

Und so weiter.

Beispiel 2: Ermitteln der Summe entlang verschiedener Achsen

Wir können axis=0 verwenden, um die Summe bestimmter Spalten im DataFrame zu ermitteln:

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

points 162
assists 62
dtype: int64

Wir können auch axis=1 verwenden, um die Summe jeder Zeile im DataFrame zu ermitteln:

 #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

Beispiel 3: Finden von Max entlang verschiedener Achsen

Wir können axis=0 verwenden, um den Maximalwert bestimmter Spalten im DataFrame zu ermitteln:

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

points 29
assists 12
rebounds 12
dtype: int64

Wir können auch axis=1 verwenden, um den Maximalwert jeder Zeile im DataFrame zu ermitteln:

 #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

Aus dem Ergebnis können wir sehen:

  • Der Maximalwert in der ersten Zeile beträgt 25 .
  • Der Maximalwert in der zweiten Zeile beträgt 12 .
  • Der Maximalwert in der dritten Zeile beträgt 15 .

Und so weiter.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

So berechnen Sie den Durchschnitt der Spalten in Pandas
So berechnen Sie die Summe der Spalten in Pandas
So ermitteln Sie den Maximalwert von Spalten in Pandas

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert