Dieses Tutorial wird Ihnen zeigen, wie man die NumPy max Funktion benutzt, die Sie in Python Code als np.max.
Auf einer hohen Ebene möchte ich die Funktion erklären und Ihnen zeigen, wie sie funktioniert. Aus diesem Grund gibt es in diesem Tutorial zwei Hauptabschnitte: die Syntax von NumPy max und Beispiele für die Verwendung von NumPy max.
Wenn Sie gerade erst mit NumPy anfangen, empfehle ich Ihnen, das gesamte Tutorial von Anfang bis Ende zu lesen. Wenn du aber nur eine schnelle Antwort auf eine Frage haben willst, kannst du mit einem der folgenden Links zum entsprechenden Abschnitt springen:
- Die Syntax von NumPy max
- Beispiele für die Verwendung von NumPy max
Ok. Mit all dem im Hinterkopf, lasst uns anfangen.
Zuerst lasst uns über NumPy und die NumPy max Funktion sprechen.
- Eine kurze Einführung in die NumPy max Funktion
- Numpy ist ein Datenmanipulationsmodul für Python
- Numpy ist ein Toolkit für die Arbeit mit numerischen Daten
- NumPy max berechnet den Maximalwert der Werte in einem NumPy-Array
- Ein übergeordnetes Beispiel für die Funktionsweise von np.max
- Die Syntax von numpy max
- Ein kurzer Hinweis
- Eine Erklärung der Syntax
- Die Parameter von np.max
- a (erforderlich)
- Achse (optional)
- Ein kurzer Überblick über Array-Achsen
- Der Array-Parameter gibt die Achse an, um die Maxima zu berechnen
- out (optional)
- keepdims (optional)
- Beispiele: Verwendung der NumPy max-Funktion
- Führ diesen Code zuerst aus
- Importiere numpy
- Berechnen Sie das Maximum eines 1-dimensionalen Arrays
- Berechnen Sie das Maximum eines 2-d-Arrays
- Berechnen Sie den Maximalwert der Spalten eines 2-d-Arrays
- Der Achsen-Parameter gibt an, welche Achse Sie zusammenfassen wollen
- Berechnen Sie max mit Achse = 0
- Berechnen Sie die Zeilenmaxima mit axis = 1
- Wie man den Parameter keepdims mit np.max verwendet
- Setzen Sie keepdims auf true (und behalten Sie die gleichen Dimensionen bei)
- Wiederholen Sie np.max mit keepdims = True
- Wenn Sie Data Science in Python lernen wollen, lernen Sie NumPy
- Für weitere Python-Tutorials zur Datenwissenschaft, tragen Sie sich in unsere E-Mail-Liste ein
- Melden Sie sich für KOSTENLOSE Data Science-Tutorials an
- Prüfen Sie Ihren E-Mail-Posteingang, um Ihr Abonnement zu bestätigen …
Eine kurze Einführung in die NumPy max Funktion
Es ist euch wahrscheinlich klar, dass die NumPy max Funktion eine Funktion im NumPy Modul ist.
Aber wenn ihr ein echter Anfänger seid, wisst ihr vielleicht nicht wirklich was NumPy ist. Bevor wir also speziell über die Funktion np.max sprechen, lassen Sie uns kurz über NumPy sprechen.
Was genau ist NumPy?
Numpy ist ein Datenmanipulationsmodul für Python
Um es ganz einfach auszudrücken, ist NumPy ein Datenmanipulationspaket für die Programmiersprache Python.
Wenn Sie sich für Datenwissenschaft in Python interessieren, ist NumPy sehr wichtig. Das liegt daran, dass ein Großteil der datenwissenschaftlichen Arbeit einfach aus Datenmanipulation besteht. Egal, ob man Deep Learning oder Datenanalyse betreibt, ein großer Teil der Arbeit in der Datenwissenschaft besteht darin, Daten zu bereinigen, vorzubereiten und zu untersuchen, um sicherzustellen, dass man sie verwenden kann.
Auch wegen der Bedeutung der Datenmanipulation ist NumPy sehr wichtig für die Datenwissenschaft in Python.
Numpy ist ein Toolkit für die Arbeit mit numerischen Daten
Speziell bietet NumPy jedoch eine Reihe von Tools für die Arbeit mit numerischen Daten.
Python hat andere Toolkits für die Arbeit mit nicht-numerischen Daten und Daten von gemischtem Typ (wie das Pandas-Modul). Aber wenn Sie irgendeine Art von numerischen Daten haben, die Sie bereinigen, modifizieren, umgestalten oder analysieren müssen, ist NumPy wahrscheinlich das Toolkit, das Sie brauchen.
Obwohl NumPy-Funktionen mit einer Vielzahl von Datenstrukturen arbeiten können, sind sie so aufgebaut, dass sie mit einer Struktur namens NumPy-Array arbeiten. NumPy-Arrays sind nur eine spezielle Art von Python-Objekten, die numerische Daten enthalten. Es gibt eine Vielzahl von Möglichkeiten, Numpy-Arrays zu erstellen, darunter die np.array-Funktion, die np.ones-Funktion, die np.zeros-Funktion und die np.arange-Funktion, zusammen mit vielen anderen Funktionen, die in früheren Tutorials hier bei Sharp Sight behandelt wurden.
Wichtig ist, dass NumPy-Arrays für numerische Berechnungen optimiert sind. Es gibt also eine Reihe von Werkzeugen in NumPy, mit denen man numerische Berechnungen mit NumPy-Arrays durchführen kann, wie z.B. die Berechnung des Mittelwerts eines NumPy-Arrays, die Berechnung des Medians eines NumPy-Arrays usw.
Im Wesentlichen bietet NumPy ein Toolkit, mit dem man Arrays mit numerischen Daten erstellen und Berechnungen mit diesen numerischen Daten durchführen kann.
Eine der Berechnungen, die man durchführen kann, ist die Berechnung des Maximalwerts eines NumPy-Arrays. Hier kommt die Funktion np.max ins Spiel.
NumPy max berechnet den Maximalwert der Werte in einem NumPy-Array
Die Funktion numpy.max()
berechnet den Maximalwert der numerischen Werte in einem NumPy-Array. Sie kann auch den Maximalwert der Zeilen, Spalten oder anderer Achsen berechnen. Wir werden im Abschnitt über die Beispiele darüber sprechen.
Syntaktisch werden Sie die NumPy max-Funktion im Code oft als np.max sehen. Man sieht sie so geschrieben, wenn der Programmierer das NumPy-Modul mit dem Alias np
importiert hat.
Zusätzlich, nur um das klarzustellen, sollten Sie wissen, dass die Funktion np.max dasselbe ist wie die NumPy-Funktion amax, alias np.amax. Im Grunde genommen ist np.max ein Alias von np.amax. Abgesehen vom Namen sind sie identisch.
Ein übergeordnetes Beispiel für die Funktionsweise von np.max
Später in diesem Tutorium werde ich Ihnen konkrete Beispiele für die Verwendung der Funktion np.max zeigen, aber hier möchte ich Ihnen eine grobe Vorstellung davon geben, was sie tut.
Angenommen, du hast ein eindimensionales NumPy-Array mit fünf Werten:
Wir können die NumPy max-Funktion verwenden, um den Maximalwert zu berechnen:
Auch wenn dieses Beispiel zeigt, wie die np.max()
Funktion mit einem eindimensionalen NumPy-Array arbeitet, funktioniert sie auf ähnliche Weise mit zweidimensionalen Arrays und mehrdimensionalen Arrays. Auch hier zeige ich Ihnen vollständige Beispiele im Beispielteil dieses Tutorials.
Bevor wir uns jedoch die Code-Beispiele ansehen, lassen Sie uns einen kurzen Blick auf die Syntax und die Parameter von np.max werfen.
Die Syntax von numpy max
Die Syntax der Funktion np.max ist ziemlich einfach, obwohl einige der Parameter der Funktion ein wenig verwirrend sein können.
Hier werden wir über die syntaktische Struktur der Funktion sprechen, und ich werde auch die wichtigen Parameter erklären.
Ein kurzer Hinweis
Ein kurzer Hinweis, bevor wir mit der Überprüfung der Syntax beginnen.
Syntaktisch gesehen ist der richtige Name der Funktion numpy.max()
.
Aber Sie werden die Funktion im Code oft als np.max()
sehen.
Warum?
Gemeinsam importieren Programmierer zu Beginn eines Programms, das das NumPy-Modul verwendet, die NumPy-Funktion als np
. Sie sehen dann im Programm eine Codezeile mit der Bezeichnung import numpy as np
. Dies bedeutet, dass das NumPy-Modul mit dem Alias np
importiert wird. Dies ermöglicht es dem Programmierer, sich im Code auf NumPy als np
zu beziehen, was es ihm ermöglicht, sich auf die Funktion numpy.max als np.max zu beziehen.
Werfen wir nun einen genaueren Blick auf die Syntax.
Eine Erklärung der Syntax
Auf hohem Niveau ist die Syntax von np.max ziemlich einfach.
Da ist der Name der Funktion – np.max()
– und innerhalb der Funktion gibt es mehrere Parameter, mit denen wir das genaue Verhalten der Funktion steuern können.
Lassen Sie uns einen genaueren Blick auf die Parameter von np.max werfen, denn die Parameter sind es, die Ihnen die feinkörnige Kontrolle über die Funktion geben.
Die Parameter von np.max
Die numpy.max-Funktion hat vier primäre Parameter:
a
axis
out
keepdims
Lassen Sie uns über jeden dieser Parameter einzeln sprechen.
a (erforderlich)
Der a
-Parameter ermöglicht es Ihnen, die Daten anzugeben, mit denen die np.max-Funktion arbeitet. Im Wesentlichen legt er das Eingabe-Array für die Funktion fest.
In vielen Fällen wird dieses Eingabe-Array ein echtes NumPy-Array sein. Abgesehen davon arbeitet numpy.max (und die meisten anderen NumPy-Funktionen) mit jeder „array-ähnlichen Sequenz“ von Daten. Das bedeutet, dass das Argument des a
-Parameters eine Python-Liste, ein Python-Tupel oder eine von mehreren anderen Python-Sequenzen sein kann.
Denken Sie daran, dass Sie diesem Argument etwas mitgeben müssen. Es ist erforderlich.
Achse (optional)
Mit dem Parameter axis
können Sie die Achse angeben, auf der Sie die Maximalwerte berechnen.
Einfacher ausgedrückt, ermöglicht der Achsenparameter die Berechnung der Zeilen- und Spaltenmaxima.
Ich werde im folgenden Abschnitt mit Beispielen genauer erklären, wie man das macht, aber lassen Sie mich kurz erklären, wie der axis
Parameter funktioniert.
Ein kurzer Überblick über Array-Achsen
Auf einer hohen Ebene müssen Sie verstehen, dass NumPy-Arrays Achsen haben.
Achsen sind wie Richtungen entlang des NumPy-Arrays. In einem 2-dimensionalen Array ist die Achse 0 die Achse, die nach unten durch die Zeilen zeigt, und die Achse 1 ist die Achse, die horizontal durch die Spalten zeigt.
Der Array-Parameter gibt die Achse an, um die Maxima zu berechnen
Wie hängt das mit dem axis
-Parameter zusammen?
Wenn wir den Parameter axis
in der Funktion numpy.max verwenden, geben wir die Achse an, entlang derer die Maxima gefunden werden sollen.
Damit können wir effektiv die Spaltenmaxima und Zeilenmaxima berechnen.
Lassen Sie mich Ihnen zeigen, was ich meine.
Erinnern Sie sich, dass die Achse 0 die Achse ist, die nach unten zeigt, die Zeilen hinunter.
Wenn wir den Code np.max(axis = 0)
auf ein Array anwenden, weisen wir NumPy an, die Maximalwerte in dieser Richtung zu berechnen … der Richtung der Achse 0.
Wenn wir den Code axis = 0
setzen, geben wir an, dass wir die Spaltenmaxima berechnen wollen.
Gleichermaßen ist zu beachten, dass in einem 2-dimensionalen Array die Achse 1 horizontal zeigt. Wenn wir also NumPy max mit axis = 1
verwenden, weisen wir NumPy an, die Maxima horizontal, in Richtung der Achse 1, zu berechnen.
Damit werden effektiv die Zeilenmaxima berechnet.
Ich zeige Ihnen später im Abschnitt mit den Beispielen konkrete Code-Beispiele dafür.
Denken Sie daran, dass der Achsenparameter optional ist. Wenn Sie keine Achse angeben, findet NumPy max den Maximalwert im gesamten NumPy-Array.
out (optional)
Mit dem out-Parameter können Sie ein spezielles Ausgabe-Array angeben, in dem Sie die Ausgabe von np.max speichern können.
Es ist nicht üblich, diesen Parameter zu verwenden (vor allem, wenn Sie ein Anfänger sind), daher werden wir in diesem Tutorial nicht darauf eingehen.
out
ist ein optionaler Parameter.
keepdims (optional)
Der keepdims
-Parameter ist etwas verwirrend, so dass man sich ein wenig anstrengen muss, um ihn zu verstehen.
Im Endeffekt sorgt der keepdims
-Parameter dafür, dass die Abmessungen der Ausgabe mit den Abmessungen der Eingabe übereinstimmen.
Um zu verstehen, warum dies notwendig sein könnte, schauen wir uns an, wie die Funktion numpy.max typischerweise funktioniert.
Wenn Sie np.max auf ein typisches NumPy-Array anwenden, reduziert die Funktion die Anzahl der Dimensionen. Sie fasst die Daten zusammen.
Angenommen, Sie haben ein 1-dimensionales NumPy-Array. Sie verwenden NumPy max auf das Array.
Wenn Sie np.max auf ein 1-dimensionales Array anwenden, ist die Ausgabe eine einzige Zahl. Ein skalarer Wert … nicht ein 1-d-Array.
Im Wesentlichen sind die Funktionen wie NumPy max (sowie numpy.median, numpy.mean usw.) fassen die Daten zusammen, und indem sie die Daten zusammenfassen, erzeugen diese Funktionen Ausgaben, die eine reduzierte Anzahl von Dimensionen haben.
Manchmal möchte man jedoch, dass die Ausgabe die gleiche Anzahl von Dimensionen hat. Wenn die Eingabe ein 1-d-Array ist, möchte man manchmal, dass die Ausgabe ein 1-d-Array ist (auch wenn das Ausgabe-Array nur einen einzigen Wert enthält).
Das kann man mit dem Parameter keepdims
erreichen.
Standardmäßig ist keepdims
auf False
eingestellt. Die Abmessungen der Ausgabe sind also standardmäßig (wie oben beschrieben) nicht mit den Abmessungen der Eingabe identisch. Standardmäßig sind die Dimensionen der Ausgabe kleiner (weil np.max die Daten zusammenfasst).
Wenn Sie jedoch keepdims = True
einstellen, hat die Ausgabe die gleichen Dimensionen wie die Eingabe.
Das ist ein wenig abstrakt ohne ein konkretes Beispiel, daher zeige ich Ihnen später im Abschnitt Beispiele ein Beispiel für dieses Verhalten.
Nachdem wir nun die Parameter besprochen haben, ist dies ein guter Ort, um mit den Beispielen für NumPy max zu beginnen.
Beispiele: Verwendung der NumPy max-Funktion
In diesem Abschnitt werde ich Ihnen konkrete Beispiele für die Verwendung der NumPy max-Funktion zeigen.
Ich zeige Ihnen mehrere Varianten, wie Sie den Maximalwert eines Arrays finden können. Ich zeige dir, wie man den Maximalwert eines 1-d-Arrays findet, wie man den Maximalwert eines 2-d-Arrays findet und wie man mit mehreren wichtigen Parametern von numpy.max arbeitet.
Führ diesen Code zuerst aus
Bevor wir anfangen, gibt es einige vorbereitende Dinge, die du tun musst, um dich richtig einzurichten.
Erstens muss NumPy richtig auf deinem Computer installiert sein.
Importiere numpy
Zweitens musst du NumPy in deine Arbeitsumgebung importieren.
Du kannst NumPy mit dem folgenden Code importieren:
import numpy as np
Beachte, dass wir NumPy als np
importiert haben. Das bedeutet, dass wir uns in unserem Code mit dem Alias np
auf NumPy beziehen werden.
Ok, jetzt, wo das erledigt ist, wollen wir uns ein paar Beispiele ansehen.
Berechnen Sie das Maximum eines 1-dimensionalen Arrays
Wir fangen einfach an.
Hier werden wir den Maximalwert eines 1-dimensionalen NumPy-Arrays berechnen.
Zu diesem Zweck erstellen wir zunächst ein 1-dimensionales Array, das einige zufällige Ganzzahlen enthält. Um dieses Array zu erstellen, verwenden wir die Funktion numpy.random.randint()
. Denken Sie daran, dass Sie die Funktion np.random.seed()
verwenden müssen, damit Ihr NumPy-Array dieselben Ganzzahlen enthält wie die Ganzzahlen in diesem Beispiel.
np.random.seed(22)np_array_1d = np.random.randint(size = 5, low = 0, high = 99)
Mit dieser Syntax wird ein 1-dimensionales Array namens np_array_1d
erstellt.
Wir können np_array_1d
mit der Funktion print()
ausdrucken.
print(np_array_1d)
Und hier ist die Ausgabe:
Mit einem Blick können wir den maximalen Wert erkennen, der 84
ist.
Aber lassen Sie uns das mit etwas Code machen.
Hier berechnen wir den Maximalwert unseres NumPy-Arrays, indem wir die Funktion np.max()
verwenden.
np.max(np_array_1d)
Was die folgende Ausgabe erzeugt:
84
Dies ist ein extrem einfaches Beispiel, aber es illustriert die Technik. Wenn das Array nur 5 Elemente umfasst, können Sie das Array natürlich visuell untersuchen und den Maximalwert ermitteln. Aber diese Technik funktioniert auch, wenn man ein Array mit Tausenden von Werten (oder mehr!) hat.
Berechnen Sie das Maximum eines 2-d-Arrays
Als Nächstes wollen wir das Maximum eines 2-d-Arrays berechnen.
Um das zu tun, brauchen wir natürlich ein 2-d-Array, mit dem wir arbeiten können, also erstellen wir zuerst ein 2-dimensionales NumPy-Array.
Um unser 2-d-Array zu erstellen, verwenden wir die Funktion np.random.choice(). Im Wesentlichen wird diese Funktion eine Zufallsstichprobe aus den ganzen Zahlen zwischen 0 und 8 ziehen, ohne Ersetzung. Nachdem np.random.choice() ausgeführt wurde, verwenden wir die Methode reshape(), um die Ganzzahlen in ein 2-dimensionales Array mit 3 Zeilen und 3 Spalten umzuformen.
np.random.seed(1)np_array_2d = np.random.choice(9, 9, replace = False).reshape((3,3))
Sehen wir uns das Array an, indem wir es ausdrucken: np_array_2d
.
print(np_array_2d)
]
Wie Sie sehen, handelt es sich um ein 2-dimensionales Array mit 3 Zeilen und 3 Spalten. Es enthält die ganzen Zahlen von 0 bis 8, die zufällig im Array angeordnet sind.
Berechnen wir nun den Maximalwert des Arrays:
np.max(np_array_2d)
Das ergibt folgende Ausgabe:
8
Auch dies ist ein sehr einfaches Beispiel, aber Sie können dies mit einem viel größeren 2-D-Array verwenden und es funktioniert auf die gleiche Weise. Sobald du gelernt hast, wie man diese Technik anwendet, kannst du sie mit größeren Arrays ausprobieren!
Als Nächstes wollen wir etwas Komplizierteres machen.
… in den nächsten Beispielen werden wir die Spaltenmaxima und die Zeilenmaxima berechnen.
Berechnen Sie den Maximalwert der Spalten eines 2-d-Arrays
Zunächst werden wir die Maximalwerte der Spalten eines Arrays berechnen.
Um dies zu tun, müssen wir den Parameter axis
verwenden. Insbesondere müssen wir axis = 0
innerhalb der Funktion numpy.max setzen.
Lassen Sie uns kurz besprechen, warum.
Der Achsen-Parameter gibt an, welche Achse Sie zusammenfassen wollen
Erinnern Sie sich, dass NumPy-Arrays Achsen haben, und dass die Achsen wie Richtungen entlang des Arrays sind. In einem 2-d-Array ist die Achse 0 die Achse, die nach unten zeigt, und die Achse 1 ist die Achse, die horizontal zeigt.
Wir können diese Achsen verwenden, um die Richtung zu definieren, entlang derer wir np.max.
Sagen wir also, wir wollen die Maximalwerte der Spalten berechnen. Dies ist gleichbedeutend mit der Berechnung der Mittelwerte nach unten.
Um die Spaltenmaxima zu berechnen, müssen wir im Wesentlichen die Maxima in Richtung der Achse 0 berechnen.
Berechnen Sie max mit Achse = 0
Lassen Sie mich Ihnen zeigen, wie das geht.
Hier werden wir unser 2-d NumPy-Array neu erstellen. Dies ist dasselbe wie das 2-d NumPy-Array, das wir in einem früheren Beispiel erstellt haben. Wenn Sie diesen Code also bereits ausgeführt haben, brauchen Sie ihn nicht noch einmal auszuführen.
np.random.seed(1)np_array_2d = np.random.choice(9, 9, replace = False).reshape((3,3))
Und wir können ihn ausdrucken:
print(np_array_2d)
]
Noch einmal, dies ist ein 2-d-Array mit 3 Zeilen und 3 Spalten. Es enthält die ganzen Zahlen von 0 bis 8, die zufällig im Array angeordnet sind.
Berechnen wir nun die Spaltenmaxima, indem wir numpy.max mit axis = 0
verwenden.
# CALCULATE COLUMN MAXIMAnp.max(np_array_2d, axis = 0)
Das erzeugt das folgende Ausgabe-Array:
array()
Lassen Sie uns auswerten, was hier passiert ist.
Durch das Setzen von axis = 0
haben wir angegeben, dass die NumPy max-Funktion die Maximalwerte entlang der Achse 0 nach unten berechnen soll.
Das ist ziemlich einfach, solange man die NumPy-Achsen versteht und wie sie in den NumPy-Funktionen funktionieren.
Berechnen Sie die Zeilenmaxima mit axis = 1
Auch die Zeilenmaxima können wir berechnen, indem wir den Parameter axis
auf axis = 1
setzen.
Hier ist der Code, um den 2-d-Datensatz erneut zu erstellen:
np.random.seed(1)np_array_2d = np.random.choice(9, 9, replace = False).reshape((3,3))
print(np_array_2d)
]
Und jetzt berechnen wir die Zeilenmaxima:
np.max(np_array_2d, axis = 1)
Mit der folgenden Ausgabe:
array()
Dies sollte Sinn machen, wenn Sie die vorherigen Beispiele bereits gelesen und verstanden haben.
Wenn wir axis = 1
setzen, weisen wir numpy.max an, die Maximalwerte in Richtung Achse 1 zu berechnen. Da Achse 1 die Achse ist, die horizontal entlang des Arrays verläuft, berechnet dies effektiv die Maximalwerte entlang der Zeilen eines 2-D-Arrays:
Auch dies ist ziemlich einfach, solange Sie NumPy-Array-Achsen wirklich verstehen. Wenn Sie immer noch Probleme haben, Achsen zu verstehen, empfehle ich Ihnen, unser Tutorial über NumPy-Array-Achsen zu lesen.
Wie man den Parameter keepdims mit np.max verwendet
Zuletzt lassen Sie uns einen Blick auf den Parameter keepdims
werfen.
Bevor wir das tun, lassen Sie mich erklären, warum wir ihn brauchen.
Wie ich bereits erwähnt habe, fasst die NumPy max-Funktion Daten zusammen, wenn Sie sie verwenden. In der Tat fassen viele der NumPy-Funktionen, die zusammenfassende Statistiken berechnen (wie np.mean, np.median, np.min usw.), Daten von Natur aus zusammen. Wenn Sie eine zusammenfassende Statistik berechnen, fassen Sie per Definition die Daten zusammen.
Dies hat wichtige Konsequenzen in Bezug auf die Dimensionen der Daten.
Wenn Sie Ihre Daten mit einer Funktion wie numpy.max zusammenfassen, hat die Ausgabe der Funktion eine reduzierte Anzahl von Dimensionen.
Angenommen, Sie berechnen den Maximalwert eines 2-dimensionalen Arrays. Wenn Sie numpy.max auf dieses 2-d-Array anwenden (ohne den Parameter axis
), dann ist die Ausgabe eine einzelne Zahl, ein Skalar. Skalare haben null Dimensionen. Zwei Dimensionen rein, null Dimension raus.
Die NumPy max Funktion reduziert effektiv die Dimensionen zwischen der Eingabe und der Ausgabe.
Gelegentlich will man aber keine reduzierte Anzahl von Dimensionen. Es kann Situationen geben, in denen die Ausgabe technisch gesehen die gleichen Dimensionen wie die Eingabe haben muss (selbst wenn die Ausgabe eine einzelne Zahl ist).
Sie können dieses Verhalten mit dem Parameter keepdims
erzwingen.
Setzen Sie keepdims auf true (und behalten Sie die gleichen Dimensionen bei)
Standardmäßig ist der Parameter keepdims
auf False
gesetzt. Wie ich gerade erklärt habe, bedeutet dies, dass die Ausgabe standardmäßig nicht die gleichen Abmessungen wie die Eingabe haben muss.
Wenn Sie jedoch keepdims = True
einstellen, wird die Ausgabe gezwungen, die gleiche Anzahl von Dimensionen wie die Eingabe zu haben.
Das könnte Sie verwirren, also lassen Sie uns ein solides Beispiel betrachten.
Zunächst erstellen wir einfach ein 2-D-Array.
Dies ist dasselbe Array, das wir zuvor erstellt haben, wenn Sie diesen Code also bereits ausgeführt haben, brauchen Sie ihn nicht erneut auszuführen. Im Wesentlichen erstellt dieser Code ein 2-D-Array mit den Zahlen von 0 bis 8, die zufällig in einem 3-mal-3-Array angeordnet sind.
np.random.seed(1)np_array_2d = np.random.choice(9, 9, replace = False).reshape((3,3))
Zur Verdeutlichung können wir es ausdrucken:
print(np_array_2d)
Und hier ist das Array:
]
Auch dieses Array enthält nur die ganzen Zahlen von 0 bis 8, die zufällig in einem 3 x 3 NumPy-Array angeordnet sind.
Und wie viele Dimensionen hat es?
Es ist wahrscheinlich offensichtlich, aber wir können die Anzahl der Dimensionen direkt abrufen, indem wir das Attribut ndim
aus dem Array extrahieren.
np_array_2d.ndim
Und das sagt uns die Anzahl der Dimensionen:
2
So, np_array_2d
ist ein 2-dimensionales Array.
Nutzen wir nun np.max, um den Maximalwert des Arrays zu berechnen.
np.max(np_array_2d)
Der Maximalwert ist 8
.
Und wie viele Dimensionen hat die Ausgabe? Wir können das überprüfen, indem wir das ndim
-Attribut am Ende der np.max()
-Funktion referenzieren:
np.max(np_array_2d).ndim
Wie viele Dimensionen hat die Ausgabe?
0
.
Die Ausgabe von np.max ist der Maximalwert (8), der ein Skalar ist. Dieser Skalar hat null Dimensionen.
Wiederholen Sie np.max mit keepdims = True
Nun lassen Sie uns den Code mit keepdims = True
wiederholen.
np.max(np_array_2d, keepdims = True)
Das ergibt die folgende Ausgabe:
array(])
Und prüfen wir die Dimensionen:
np.max(np_array_2d, keepdims = True).ndim
2
Wenn wir np.max auf np_array_2d
mit keepdims = True
ausführen, hat die Ausgabe 2 Dimensionen.
Denken Sie daran, dass der Maximalwert derselbe ist: 8
. Nur die Dimensionen der Ausgabe sind unterschiedlich. Indem wir keepdims = True
setzen, ändern wir die Struktur der Ausgabe … statt eines Skalars ist die Ausgabe tatsächlich ein 2-d NumPy-Array mit einem einzigen Wert (8
).
Wenn Sie Data Science in Python lernen wollen, lernen Sie NumPy
Wenn Sie andere Tutorials hier im Sharp Sight Data Science Blog gelesen haben, wissen Sie, wie wichtig die Datenmanipulation ist.
Wenn Sie ernsthaft Data Science lernen wollen, müssen Sie die Grundlagen der Datenmanipulation wirklich beherrschen. Ein großer Teil des datenwissenschaftlichen Workflows besteht in der Bereinigung und Manipulation von Eingabedaten.
Wenn Sie mit Python arbeiten, ist NumPy eine der wichtigsten Fähigkeiten, die Sie kennen müssen. Numpy ist entscheidend für das Bereinigen, Manipulieren und Erforschen Ihrer Daten.
Wenn Sie Data Science in Python lernen wollen, lernen Sie NumPy und lernen Sie es gut.
Für weitere Python-Tutorials zur Datenwissenschaft, tragen Sie sich in unsere E-Mail-Liste ein
Wenn Sie NumPy und Datenwissenschaft in Python lernen wollen, tragen Sie sich in unsere E-Mail-Liste ein.
Hier im Sharp Sight Blog veröffentlichen wir regelmäßig Tutorials zur Datenwissenschaft.
Wenn Sie sich anmelden, erhalten Sie kostenlose Tutorials zu:
- NumPy
- Pandas
- Base Python
- Scikit learn
- Maschinelles Lernen
- Deep learning
- … und mehr.
Wenn wir Tutorien veröffentlichen, schicken wir sie direkt in Ihren Posteingang.
Wollen Sie Data Science in Python lernen? Melden Sie sich jetzt an.