Es sollte allgemein bekannt sein, dass die Zeichenfolgenaliasnamen 'index' und 'column' anstelle der Ganzzahlen 0/1 verwendet werden können. Die Aliase sind viel expliziter und helfen mir, mich daran zu erinnern, wie die Berechnungen stattfinden. Ein weiterer Alias für 'Index' ist 'Zeilen' .
Wenn axis='index'
es verwendet wird, finden die Berechnungen in den Spalten statt, was verwirrend ist. Aber ich erinnere mich, dass ich ein Ergebnis erhalten habe, das die gleiche Größe wie eine andere Zeile hat.
Lassen Sie uns einige Daten auf dem Bildschirm anzeigen, um zu sehen, wovon ich spreche:
df = pd.DataFrame(np.random.rand(10, 4), columns=list('abcd'))
a b c d
0 0.990730 0.567822 0.318174 0.122410
1 0.144962 0.718574 0.580569 0.582278
2 0.477151 0.907692 0.186276 0.342724
3 0.561043 0.122771 0.206819 0.904330
4 0.427413 0.186807 0.870504 0.878632
5 0.795392 0.658958 0.666026 0.262191
6 0.831404 0.011082 0.299811 0.906880
7 0.749729 0.564900 0.181627 0.211961
8 0.528308 0.394107 0.734904 0.961356
9 0.120508 0.656848 0.055749 0.290897
Wenn wir den Mittelwert aller Spalten nehmen wollen, erhalten wir axis='index'
Folgendes:
df.mean(axis='index')
a 0.562664
b 0.478956
c 0.410046
d 0.546366
dtype: float64
Das gleiche Ergebnis würde erzielt werden durch:
df.mean() # default is axis=0
df.mean(axis=0)
df.mean(axis='rows')
Verwenden Sie axis = 'column', um eine Operation von links nach rechts für die Zeilen zu verwenden. Ich erinnere mich daran, indem ich dachte, dass meinem DataFrame eine zusätzliche Spalte hinzugefügt werden könnte:
df.mean(axis='columns')
0 0.499784
1 0.506596
2 0.478461
3 0.448741
4 0.590839
5 0.595642
6 0.512294
7 0.427054
8 0.654669
9 0.281000
dtype: float64
Das gleiche Ergebnis würde erzielt werden durch:
df.mean(axis=1)
Fügen Sie eine neue Zeile mit Achse = 0 / Index / Zeilen hinzu
Verwenden Sie diese Ergebnisse, um zusätzliche Zeilen oder Spalten hinzuzufügen, um die Erklärung zu vervollständigen. Wenn Sie also axis = 0 / index / rows verwenden, erhalten Sie eine neue Zeile des DataFrame. Fügen wir eine Zeile hinzu:
df.append(df.mean(axis='rows'), ignore_index=True)
a b c d
0 0.990730 0.567822 0.318174 0.122410
1 0.144962 0.718574 0.580569 0.582278
2 0.477151 0.907692 0.186276 0.342724
3 0.561043 0.122771 0.206819 0.904330
4 0.427413 0.186807 0.870504 0.878632
5 0.795392 0.658958 0.666026 0.262191
6 0.831404 0.011082 0.299811 0.906880
7 0.749729 0.564900 0.181627 0.211961
8 0.528308 0.394107 0.734904 0.961356
9 0.120508 0.656848 0.055749 0.290897
10 0.562664 0.478956 0.410046 0.546366
Fügen Sie eine neue Spalte mit Achse = 1 / Spalten hinzu
Wenn Achse = 1 / Spalten ist, werden Daten erstellt, die leicht in eine eigene Spalte umgewandelt werden können:
df.assign(e=df.mean(axis='columns'))
a b c d e
0 0.990730 0.567822 0.318174 0.122410 0.499784
1 0.144962 0.718574 0.580569 0.582278 0.506596
2 0.477151 0.907692 0.186276 0.342724 0.478461
3 0.561043 0.122771 0.206819 0.904330 0.448741
4 0.427413 0.186807 0.870504 0.878632 0.590839
5 0.795392 0.658958 0.666026 0.262191 0.595642
6 0.831404 0.011082 0.299811 0.906880 0.512294
7 0.749729 0.564900 0.181627 0.211961 0.427054
8 0.528308 0.394107 0.734904 0.961356 0.654669
9 0.120508 0.656848 0.055749 0.290897 0.281000
Es scheint, dass Sie alle Aliase mit den folgenden privaten Variablen sehen können:
df._AXIS_ALIASES
{'rows': 0}
df._AXIS_NUMBERS
{'columns': 1, 'index': 0}
df._AXIS_NAMES
{0: 'index', 1: 'columns'}