NumPy-Cheatsheet

Nov 27 2022
Sie brauchen also einen kurzen Blick auf NumPy, damit Sie praktisch arbeiten können? Dieser Artikel ist genau das, was Sie brauchen! Erste Schritte NumPy ist ein wissenschaftliches Rechenpaket in Python. Es enthält vordefinierte Funktionen für lineare Algebra, Fourier-Transformation und Matrizen.

Sie brauchen also einen kurzen Blick auf NumPy, damit Sie praktisch arbeiten können? Dieser Artikel ist genau das, was Sie brauchen!

Einstieg

NumPy ist ein wissenschaftliches Rechenpaket in Python. Es enthält vordefinierte Funktionen für lineare Algebra, Fourier-Transformation und Matrizen. NumPy wird im Allgemeinen für Data-Science-Anwendungen verwendet.

Stellen Sie zunächst sicher, dass Sie Python und NumPy in Ihrem System haben. Wie Sie es bekommen, hängt von Ihrem System und der IDE Ihrer Wahl ab, aber ich empfehle Anaconda. Mit der grundlegenden Anaconda-Installation können Sie einfach zum Terminal gehen und „conda install numpy“ ausführen & voila!

Lassen Sie uns nun eine example.py -Datei erstellen, um mit der Arbeit zu beginnen.

Hinweis: Wenn wir anstelle einer einzelnen Beispieldatei ein Projekt erstellen würden, mit dem wir arbeiten könnten, müssten wir einfach ein Verzeichnis und eine __init__ .py -Datei darin erstellen.

Sie sollten die folgende Zeile am Anfang der Datei hinzufügen, um mit NumPy innerhalb der Datei arbeiten zu können.

importiere numpy als np

Hinweis: Wir importieren es im Allgemeinen als np, damit wir nicht jedes Mal numpy eingeben müssen, wenn wir eine Funktion von NumPy aufrufen. Denken Sie daran, dass np zwar geändert werden kann, aber die allgemeine Konvention ist.

Danach können Sie den Code in der Beispieldatei ausführen, indem Sie einfach zum Terminal gehen und den Befehl ausführen:

python-Beispiel.py

Liste vs. Array

Wir werden Arrays häufig mit unseren NumPy-Operationen verwenden, daher ist es besser, eines klarzustellen: Listen und Arrays sind in Python unterschiedlich.

Mit Arrays können Sie mehrdimensionale Strukturen wie Matrizen deklarieren und darin numerische Operationen ausführen, aber das ist bei den einfachen alten Listen nicht der Fall. Daher ist NumPy stark auf Arrays angewiesen.

Listen können einem Wert zugewiesen werden, ohne deklariert werden zu müssen, Arrays jedoch nicht. Um also ein Array zu definieren, müssen Sie Folgendes tun:

exampleArray = np.arrray([10, 15, 20]) // eindimensionales Array

Oder Sie können ein mehrdimensionales Array wie folgt definieren:

exampleArray2 = np.array([10, 15, 20], [50, 100, 150], [1, 2, 3])

Sie können Elemente innerhalb des Arrays wie folgt aufrufen:

exampleArray2 [1] // gibt [50, 100, 150] zurück

exampleArray2 [1] [0]// gibt 50 zurück

Methoden

Nachfolgend finden Sie die grundlegendsten Funktionen, die häufig bei der Arbeit mit NumPy verwendet werden. Obwohl es viele, viele mehr gibt, wird das Folgende ausreichen, um Ihnen den Einstieg zu erleichtern.

Methoden zur Array-Erstellung

  • np.arange(0, 10): Erstellt ein eindimensionales Array mit den Zahlen 0 bis 9 als Elemente.
  • np.arange(0, 10, 3): Erstellt ein eindimensionales Array mit Zahlen zwischen 0 und 10, die zu jedem Drittel springen. Gibt ein Array mit 0,3,6,9 als Items zurück.
  • np.zeros(3): Erstellt ein Array mit 3 Elementen mit dem Wert 0 für jedes Element.
  • np.ones(3): Erstellt ein Array mit 3 Elementen mit dem Wert 1 für jedes Element.
  • np.linspace(0,20,5): Akzeptiert 5 Zahlen zwischen 0 und 20 mit gleichen Schritten dazwischen. Gibt ein Array von Elementen 0, 5, 10, 15, 20 zurück. Denken Sie daran, dass, wenn wir sagen, dass Sie 6 Elemente auswählen, die Elemente Floats anstelle von Interferenzen wären, um sicherzustellen, dass der Abstand dazwischen gleich ist.
  • np.eye(3): Erstellt eine Identitätsmatrix mit 3 Spalten und 3 Zeilen. Die diagonalen Werte geben alle 1 zurück und alle anderen Werte geben 0 zurück.
  • np.random.randn(5): Erstellt ein eindimensionales Array mit 5 Zufallszahlen als Elemente. Die Zahlen können vom Typ Integer und/oder Float, negativ und/oder positiv sein.
  • np.random.randn(5,5): Erstellt eine Matrix mit 5 Zeilen und 5 Spalten mit 25 Zufallswerten als Elemente.
  • np.random.randint(1, 10, 2): Gibt zwei Zufallszahlen zurück, die größer als 1 und kleiner als 10 sind.
  • myArray.reshape(5,5): Nimmt das eindimensionale Array namens myArray und gibt es als Matrix mit 5 Zeilen und 5 Spalten zurück. Denken Sie daran, dass dies einen Fehler auslöst und nicht funktioniert, wenn das Array nicht genügend Elemente enthält, im Beispielfall 5 x 5 = 25 Elemente. Diese Methode ändert das Array selbst nicht, sondern gibt einfach eine geänderte Version des Arrays zurück.
  • myArray.max(): Gibt die größte Zahl innerhalb der Elemente eines Zahlenarrays zurück.
  • myArray.min(): Gibt die kleinste Zahl innerhalb der Elemente eines Zahlenarrays zurück.
  • myArray.argmax(): Gibt den Index der größten Zahl innerhalb der Elemente eines Zahlenarrays zurück.
  • myArray.argmin(): Gibt den Index der kleinsten Zahl innerhalb der Elemente eines Zahlenarrays zurück.
  • myArray.shape: Gibt die Form eines Arrays zurück. Wenn das Array ein eindimensionales Array mit 10 Elementen ist, gibt es (10, ) zurück. Wenn das Array eine Matrix ist, die aus 5 Spalten und 6 Zeilen besteht, wird (5,6) zurückgegeben. Denken Sie daran, dass dies keine Funktion, sondern ein Attribut ist, sodass beim Aufrufen von shape keine Klammern verwendet werden.
  • myArray[5]: Gibt das Element aus dem Array mit der Indexnummer 5 zurück
  • myArray[3:5]: Gibt die Elemente zwischen den Indexnummern 3 und 5 zurück, einschließlich des Elements mit dem Index 3, aber ohne 5.
  • myArray[3:5] = -3: Ändert den Wert der Elemente zwischen den Indizes 3 und fünf auf -3.
  • myArray[:] = 30: Ändert den Wert aller Elemente innerhalb des Arrays nacheinander auf 30.
  • myArray = 30: Ändert den Typ des myArray von Array zu Integer und setzt seinen Wert auf 30.
  • newArray = myArray.copy(): Erstellt eine Kopie von myArray und setzt sie auf newArray. Beachten Sie, dass Sie, wenn Sie die Methode .copy() nicht verwendet haben, alle Änderungen sehen würden, die Sie an newArray vorgenommen haben, die sich auch auf myArray widerspiegeln.

Lassen Sie uns eine Matrix als myMatrix = ( [5, 10, 15] , [1, 2, 3] , [0, 0, 0] ) deklarieren.

  • myMatrix[0]: Gibt das Element mit dem Zeilenindex 0 zurück, das ein Array ist. Gibt daher [5, 10, 15] zurück.
  • myMatrix[0] [1]: Gibt das Item mit dem Spaltenindex 1 und dem Zeilenindex 0 zurück, also in diesem Fall den Wert 10.
  • myMatrix[0,1]: Gibt das Item mit dem Spaltenindex 1 und dem Zeilenindex 0 zurück, also in diesem Fall den Wert 10.
  • myMatrix[1, 1:]: Nimmt wie üblich die Zeile mit dem Index 1, gibt aber die Elemente mit den Spaltenindizes beginnend bei 1 zurück (einschließlich 1, da der Splice immer mit Python funktioniert), gibt also in diesem Fall [2, 3] zurück.
  • myMatrix[ [0,1] ]: Gibt den Wert der Indizes 0 und 1 zurück, also in unserem Fall ( [5, 10, 15] , [1, 2, 3] ).

Lassen Sie uns ein Array myArray definieren, mit dem gearbeitet werden soll, als myArray = [ 5,10,15,20]

  • myArray > 10: Gibt ein Array von wahr und falsch zurück, wenn man die Bedingung beurteilt, also gibt es in unserem Fall [false, false, true, true] zurück. Beachten Sie, dass tihs den ursprünglichen Wert von myArray nicht ändert, sondern stattdessen ein neues awway erstellt.
  • myArray [myArray > 10]: Gibt ein neues Array mit den Elementen zurück, die tatsächlich der Bedingung als [15, 20] folgen.
  • myArray + myArray: Gibt ein Array zurück, in dem die Werte Index für Index summiert und auf den entsprechenden Index gesetzt werden, in unserem Fall gibt [10, 20, 30, 40] zurück.
  • myArray — myArray: Gibt ein Array zurück, bei dem die Werte Index für Index subtrahiert und auf den entsprechenden Index gesetzt werden, in unserem Fall gibt es [0, 0, 0, 0] zurück.
  • myArray/myArray: Gibt ein Array zurück, in dem die Werte Index für Index dividiert und auf den entsprechenden Index gesetzt werden, in unserem Fall gibt es [1,1,1,1] zurück. Beachten Sie, dass, wenn in einem der Indizes eine 0 als Wert vorhanden wäre, dies eine Warnung ausgeben und nan für diesen Index zurückgeben würde, da eine Zahl nicht durch 0 geteilt werden kann, aber die anderen Indizes wie gewohnt teilen würde.
  • np.sqrt(myArray): Gibt ein Array mit der Quadratwurzel zurück, wenn sich jeder Wert auf demselben Index befindet. Wenn also meinArray [25, 16, 36] wäre, würde die Funktion [5, 4, 6] zurückgeben.