Das Problem bei der ordnungsgemäßen Verwendung von axis=
liegt in der Verwendung für 2 Hauptfälle:
- Zur Berechnung eines akkumulierten Werts oder zum Umsortieren (z.B. Sortieren) von Daten.
- Zum Manipulieren ("Spielen" mit) von Entitäten (z.B. Dataframes).
Die Hauptidee hinter dieser Antwort ist, dass zur Vermeidung von Verwirrung entweder eine Zahl oder ein Name ausgewählt wird, um die bestimmte Achse zu spezifizieren, je nachdem, was klarer, intuitiver und beschreibender ist.
Pandas basiert auf NumPy, das auf Mathematik, insbesondere auf n-dimensionalen Matrizen, basiert. Hier ist ein Bild für die gängige Verwendung von Achsnamen in der Mathematik im 3-dimensionalen Raum:
Dieses Bild dient nur zum Einprägen der ordinalen Zahlen der Achsen:
0
für die x-Achse,
1
für die y-Achse und
2
für die z-Achse.
Die z-Achse ist nur für Paneele gedacht; für Dataframes beschränken wir unser Interesse auf die grün gefärbte, 2-dimensionale Basisebene mit x-Achse (0
, vertikal) und y-Achse (1
, horizontal).
Alles dreht sich um Zahlen als potenzielle Werte des axis=
-Parameters.
Die Namen der Achsen lauten 'index'
(Sie können das Alias 'rows'
verwenden) und 'columns'
, und für diese Erklärung ist die Beziehung zwischen diesen Namen und ordinalen Zahlen (der Achsen) NICHT wichtig (da jeder weiß, was die Wörter "Reihen" und "Spalten" bedeuten und jeder hier — nehme ich an — weiß, was das Wort "Index" in Pandas bedeutet).
Und jetzt, meine Empfehlung:
-
Wenn Sie einen akkumulierten Wert berechnen möchten, können Sie ihn aus den Werten berechnen, die entlang von Achse 0 (oder entlang von Achse 1) liegen — verwenden Sie axis=0
(oder axis=1
).
Ebenso, wenn Sie Werte umsortieren möchten, verwenden Sie die Achsennummer entlang derer sich die Daten zum Umsortieren befinden (z.B. zum Sortieren).
-
Wenn Sie Entitäten manipulieren möchten (z.B. konkatenieren) (Dataframes) — verwenden Sie axis='index'
(Synonym: axis='rows'
) oder axis='columns'
, um die resultierende Änderung zu spezifizieren — Index (Reihen) oder Spalten, entsprechend.
(Für das Konkatenieren erhalten Sie entweder einen längeren Index (= mehr Reihen) oder mehr Spalten).