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