Entdecken Sie die Macht von Numpy. Die Kraft von Numpy kann am besten sein… | von Soumyajit Pal | Juni 2023

0
27


Die Leistungsfähigkeit von Numpy lässt sich am besten anhand seiner Einsatzfähigkeit im wissenschaftlichen Rechnen und der Vielfalt der damit verbundenen Funktionalitäten verstehen. Es ist näher an der {Hardware} und dadurch effizienter.

Foto von Ian Stauffer An Unsplash

Importieren des Numpy-Pakets

import numpy as npUtilizing the as key phrase, we rename and entry the numpy package deal as np

Erstellen eines Numpy-Arrays mit der Methode array()

my_arr = np.array([1,2,3,4])We cross an inventory to the array() technique which creates a numpy array accessible by way of my_arr

Erstellen eines Numpy-Arrays mit der Methode arange() – Beispiel 1

my_arr = np.arange(10)A numpy array known as my_arr is created utilizing integers from 0 as much as however not together with 10, i.e., as much as 9

Erstellen eines Numpy-Arrays mit der Methode arange() – Beispiel 2

my_arr = np.arange(4, 10, 2)A numpy array known as my_arr is created utilizing integers from 4 as much as however not together with 10, i.e., as much as 9 with an interval of two. The array shaped consists of parts 4, 6 and eight 

Erstellen eines Numpy-Arrays mit der Methode arange() – Beispiel 3

my_arr = np.arange(2, 6)A numpy array known as my_arr is created utilizing integers from 2 as much as however not together with 6, i.e., as much as 5 with an interval of 1. The array shaped consists of parts 1, 2, 3, and 4

Erstellen eines 2D-Arrays

2D-Array
Benutzen array( ) Methode zur Erstellung einer zweidimensionalen Matrix

Ermitteln der Gesamtzahl der Dimensionen

my_arr hat Zeilen und Spalten; additionally die Ausgabe von ndim Attribut ist 2

Ermitteln der Gesamtzahl der Zeilen und Spalten

Der Type Das Attribut gibt ein Tupel im Formular zurück (Zeilen, Spalten)

Ermitteln der Gesamtzahl der Elemente

Der len( ) Die Methode gibt die Anzahl der Elemente in einem eindimensionalen Numpy-Array zurück.

Der len( ) Die Methode gibt die Gesamtzahl der Elemente im Array zurück

Bei Arrays mit zwei oder mehr Dimensionen wird außerdem die Größe der ersten Dimension zurückgegeben. Wie im folgenden Codeausschnitt gezeigt, haben wir ein 2D-Numpy-Array mit 3 Zeilen und 2 Spalten. Anwenden der len( ) Die Methode für dieses Array gibt 3 zurück, was der Anzahl der Zeilen entspricht.

Der len( ) Die Methode gibt die Größe der ersten Dimension zurück, die im obigen Fall einfach die Gesamtzahl der Zeilen im 2D-Array ist

Erstellen eines 3D-Arrays mit Numpy

Übergabe einer Liste von Pay attention an Array( )-Methode zum Erstellen eines 3D-Arrays
Ermitteln der Type und Anzahl der Dimensionen eines 3D-Arrays

Verwendung der linspace( )-Methode

Der linspace( ) Die Methode gibt ein Numpy-Array mit einer äquidistanten Anzahl von Elementen zurück, abhängig vom Begin- und Endpunkt (beide inklusive).

Syntax: linspace(begin, finish, number_of_points)begin = First worth of record (inclusive)
finish = Final worth of record (inclusive)
number_of_points = Variety of equidistant factors
Es werden 6 äquidistante Punkte zwischen 10 und 20 zurückgegeben

Array von Einsen erstellen

Der Einsen( ) Die Methode in Numpy akzeptiert ein Tupel von Dimensionen und füllt ein Array entsprechend auf:

4×4-Array mit Einsen

Array mit Nullen erstellen

Der Nullen( ) Die Methode in Numpy akzeptiert ein Tupel von Dimensionen und füllt ein Array entsprechend auf:

4×4-Array mit Nullen

Erstellen einer Identitätsmatrix

Eine Identitätsmatrix ist eine quadratische Matrix aus Einsen in der Hauptdiagonale (linke Diagonale) und Nullen an anderen Stellen. Der Auge( ) Methode in Numpy akzeptiert eine ganze Zahl, Sag Mals Argument und erstellt eine Identitätsmatrix der Größe M x M entsprechend:

5×5-Identitätsmatrix

Wir können eine rechteckige Identitätsmatrix erstellen, indem wir zwei Werte übergeben – Anzahl der Zeilen und Anzahl der Spalten, getrennt durch ein Komma:

4×3-Identitätsmatrix

Verwendung der diag( )-Methode

Der diag( ) Die Numpy-Methode akzeptiert eine Liste mit Größen, Sag Mund erstellt eine
M x M Matrix, wobei die Elemente in der linken Diagonale die Elemente der Liste sind, an die als Argument übergeben wird diag( ) Methode, während die restlichen Elemente Nullen sind:

Linke Diagonalelemente sind die Listenelemente 1 bis 6

Wir können die Diagonalelemente auch mit dem aus einer Matrix extrahieren diag( ) Funktion:

Erstellen einer Diagonalmatrix und anschließendes Extrahieren der Diagonalelemente

Erstellen eines Arrays gleichmäßig verteilter Zufallszahlen

Wir nutzen die Funktion Rand( ) im Modul zufällig des Numpy-Paket So füllen Sie ein Array mit Zufallszahlen mithilfe der Gleichverteilung:

Das Argument 4 gibt die Anzahl der Zufallswerte an, die wir generieren möchten

Erstellen eines Arrays normalverteilter Zufallszahlen

Wir nutzen die Funktion randn( ) im Modul zufällig des Numpy-Paket So füllen Sie ein Array mit Zufallszahlen mithilfe der Standardnormalverteilung auf:

Das Argument 4 gibt die Anzahl der Zufallswerte an, die wir generieren möchten

Numpy-Array indizieren

Die Indizierung in Python beginnt bei 0 und wir können das Paar eckiger Klammern verwenden [ ] So greifen Sie auf die Elemente des Numpy-Arrays zu:

Zugriff auf Factor am Index 3, additionally das 4. Factor des Numpy-Arrays „a“

Um auf ein 2D-Array zuzugreifen, verwenden wir einige Werte, um die Zeilen- und Spaltennummern des Parts anzugeben, auf das wir in dieser Reihenfolge zugreifen möchten:

Zugriff auf Factor bei Zeilenindex 1 und Spaltenindex 1, additionally 20

Numpy-Array schneiden

Mit der Slicing-Notation können wir ein Unterarray aus einem vorhandenen Array extrahieren:

a[start_index : stop_index : step_size]a = identify of array
start_index = start line of extraction (inclusive)
stop_index = ending level of extraction (unique)
step_size = increment worth

Die Standardwerte von start_index, stop_index und step_size sind 0, Länge des Arrays bzw. 1. Die Slicing-Operation gibt ein Numpy-Array zurück:

Ausgehend von Index 2 gehen wir in 2er-Intervallen bis zum Index 5, ohne ihn einzuschließen
Ausgehend von Index 1 gehen wir in Intervallen von 1 bis zum Index 5 (ohne diesen einzuschließen) (Standardwert für die Schrittgröße; da nichts erwähnt wird).
Ausgehend von Index 0 (Customary-Startwert; da nichts erwähnt wird) gehen wir in Intervallen von 1 (Customary-Schrittgrößenwert; da nichts erwähnt) bis zum Index 5, jedoch ohne diesen einzuschließen.
Ausgehend von Index 4 gehen wir in Intervallen von 1 (Standardwert für die Schrittweite; da nichts erwähnt wird) bis zu Index 7 (Customary-Stoppindexwert; da nichts erwähnt wird) ohne diesen einzuschließen.
Gibt das gesamte Array aus, wenn nichts erwähnt wird!
Druckt auf schicke Weise die Rückseite des Arrays!

Ansichten und Kopien

Aus Gründen der Speichereffizienz verwendet Numpy Arrays wieder, wenn der Slicing-Vorgang angewendet und einer anderen Variablen zugewiesen wird. Wir können dies anhand des bestätigen share_memory( ) Funktion:

WAHR bezeichnet das mein_array Und neues_Array teilen sich den gleichen Speicherort

Alle vorgenommenen Änderungen an neues_Array spiegelt sich darin wider mein_array:

Einstellelement bei Index 4 von neues_Array ändert auch das entsprechende Factor in mein_array

Wenn wir einen separaten Speicherort für unsere zweite Array-Variable wünschen, können wir eine Kopie erzwingen:

Kopieren( ) Die Funktion erstellt das aufgerufene Unterarray neues_Array in einem separaten Speicherort, wie durch bestätigt FALSCH Wert zurückgegeben von share_memory( )

Ausgefallene Indizierung

Arrays in Numpy können nicht nur mit Slices, sondern auch mit booleschen oder ganzzahligen Arrays (Masken) indiziert werden. Diese Methode wird als ausgefallene Indizierung bezeichnet. Es werden Kopien erstellt, keine Ansichten. Um dies besser zu verstehen, beginnen wir mit der Erstellung eines Arrays zufälliger Ganzzahlen:

Erstellen eines Arrays mit 15 zufälligen Ganzzahlen im Bereich von 0 bis 20

Anschließend kann eine Maske definiert werden, um die geraden Zahlen herauszufiltern:

even_mask ist so definiert, dass die Modulo-2-Bedingung erfüllt ist

Zum Schluss Array X wird mit indiziert even_mask oben definierter Filter:

gerade_nr ist eine Liste von Zahlen, die die durch definierte Bedingung erfüllen even_mask

Die Indizierung mit einer Maske kann nützlich sein, um einem Unterarray einen neuen Wert zuzuweisen:

Gerade Zahlen im Array X wurden durch -1 ersetzt

Eine ausgefallene Indizierung kann auch durchgeführt werden, indem Elemente aus einem Array basierend auf einer Liste von Indizes der Array-Elemente extrahiert werden:

Array A aus 5 zufälligen ganzen Zahlen zwischen 0 und 10
Elemente bei Indizes 0, 3 und 4 des Arrays A sind zugewiesen 1000

Elementweise Operationen

Mit dem Additionsoperator kann jedem Factor eines Numpy-Arrays ein Skalar hinzugefügt werden:

Jedes Factor des Arrays A wird um 3 erhöht

Ebenso können wir von jedem Factor eines Numpy-Arrays einen Wert subtrahieren:

Jedes Factor des Arrays A wird um 3 reduziert

Wir können zwei Vektoren (1-D-Arrays) elementweise addieren oder subtrahieren:

Erstellen von 1-D-Arrays A Und B
Zusammenfassende Elemente von A Und B komponentenweise
Komponentenweise Subtraktion von Elementen von B aus Elementen von A

Die Multiplikation von Matrizen kann auf zwei Arten erfolgen: Produkt entsprechender Elemente oder herkömmliche algebraische Multiplikation, die nur anwendbar ist, wenn die Anzahl der Spalten in der ersten Matrix gleich der Anzahl der Zeilen in der zweiten Matrix ist:

diag( ) Funktion von Numpy füllt die linke Diagonale von x1 mit angegebenem Listenargument; Die restlichen Elemente sind 0
diag( ) Funktion von Numpy füllt die linke Diagonale von x2 mit angegebenem Listenargument; Die restlichen Elemente sind 0
Elementweise Multiplikation von Arrays x1 Und x2
x1 ist ein 2D-Array der Type (3, 2), dh 3 Zeilen und 2 Spalten
x2 ist ein 2D-Array der Type (2, 3), dh 2 Zeilen und 3 Spalten
Matrixmultiplikation von x1 * x2
Matrixmultiplikation von x2 * x1

Die Matrixmultiplikation ist nicht kommutativ, wie aus dem obigen Ergebnis hervorgeht x1 * x2 ist nicht dasselbe wie x2 * x1. Außerdem ist die Matrixmultiplikation nur anwendbar, wenn die Type der betrachteten Matrizen zueinander umgekehrt ist

Vergleichsoperationen

Relationale Operatoren können elementweise auf Numpy-Arrays angewendet werden, um ein Array boolescher Werte auszugeben:

Keines der Elemente in A ist größer als das entsprechende Factor in B; additionally ein Array von FALSCH Werte
Zweites und viertes Factor von A Und B sind gleich, während die übrigen beiden Elemente nicht gleich sind
Die ersten drei Elemente in B Und C ungleich sind, während das entsprechende letzte Factor gleich ist

Ebenso können andere relationale Operatoren wie > =, < und < = auf Array-Elemente angewendet werden. Es kann jedoch vorkommen, dass überprüft werden muss, ob alle Elemente in zwei Arrays gleich sind oder nicht:

Alle Elemente von A Und B sind nicht gleich; additionally Falsch
Alle Elemente von A Und C sind gleich; additionally wahr

Logische Operationen

Logische Operatoren wie OR, AND, NOT können auch auf Numpy-Arrays angewendet werden:

logical_not( ) Die Methode gibt das Komplement jedes Parts in zurück A; 1 repräsentieren WAHR ergibt FALSCH; 0 repräsentieren FALSCH ergibt WAHR

Reduktionsoperationen

Die Summe der Elemente eines Numpy-Arrays lässt sich leicht ermitteln:

Der Summe( ) Die Methode von Numpy ermittelt die kumulative Summe des Arrays arr
Vorbeigehen Achse = 0 Zu Summe( ) findet die Summe der Elemente der Matrix arr Spaltenweise
Vorbeigehen Achse = 1 Zu Summe( ) findet die Summe der Elemente der Matrix arr Reihenweise

Die minimalen und maximalen Elemente eines Numpy-Arrays können mit einer Codezeile ermittelt werden:

Der Mindest( ) Funktion von Numpy macht den Trick!
Der max( ) Die Funktion gibt das maximale Factor zurück

Nicht nur die minimalen und maximalen Elemente, sondern auch der Index der minimalen und maximalen Elemente kann direkt gefunden werden:

argmax( ) gibt den Index des maximalen Parts im Numpy-Array zurück; Die Indizierung beginnt bei 0
argmin( ) gibt den Index des minimalen Parts im Numpy-Array zurück; Die Indizierung beginnt bei 0

Logische Operationen

Der beliebig( ) Und alle( ) Methoden entsprechen logischen ODER- bzw. logischen UND-Operationen. Wenn ein Wert im Numpy-Array „True“ ist, wird der beliebig( ) Methode gibt einen wahren Wert zurück; ähnlich wie logisches ODER. Nur wenn alle Werte in einem Numpy-Array True sind, wird die alle( ) Methode gibt einen wahren Wert zurück; ähnlich wie logisches UND. Es funktioniert sowohl mit numerischen als auch mit booleschen Werten, wobei jede Zahl ungleich Null als wahr behandelt wird, während Null als falsch behandelt wird:

Es wurde mindestens ein wahrer Wert gefunden; beliebig( ) gibt True zurück
Alle Werte sind falsch; beliebig( ) gibt False zurück
Es ist mindestens eine Zahl ungleich Null vorhanden, z. B. 1; beliebig( ) gibt True zurück
Alle Elemente sind 0; beliebig( ) gibt False zurück
Alle booleschen Werte sind True; alle( ) gibt True zurück
Mindestens ein Falsch; alle( ) gibt False zurück
Alle Elemente sind ungleich Null; alle( ) gibt True zurück
Mindestens eine 0-Ursache alle( ) um False zurückzugeben

Statistische Operationen

Der Mittelwert, der Median und die Standardabweichung können mithilfe integrierter Numpy-Methoden ermittelt werden:

1-D-Numpy-Array my_arr
bedeuten( ) gibt den Durchschnittswert der Array-Elemente zurück
Standardabweichung auf zwei Dezimalstellen gerundet std( ) Methode
Median( ) gibt den Mittelwert des Arrays zurück

Ebenso können die oben genannten Operationen auf 2D-Arrays angewendet werden. Allerdings muss die Achse angegeben werden, um Berechnungen zeilen- oder spaltenweise darzustellen:

2-D-Numpy-Array my_arr
Spaltenweiser Mittelwert von my_arr bezeichnet durch Achse = 0
Zeilenweiser Mittelwert von my_arr angegeben durch axis = 1

Ebenso können Median und Standardabweichung mithilfe der Funktionen ermittelt werden Median( ) Und std( ) bzw. Der Achse Das Argument nimmt den Wert 0 oder 1 für die spaltenweise bzw. zeilenweise Operation an.

Ich hoffe, Sie fanden diesen Beitrag hilfreich. Hinterlassen Sie gerne Ihre Kommentare, Rückmeldungen, Kritik, Gedanken und alles, was Ihnen in den Sinn kommt. Bis bald!



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here