Datenwissenschaft

Python NumPy-Tutorial

Python NumPy-Tutorial
In dieser Lektion zur Python NumPy-Bibliothek werden wir uns ansehen, wie diese Bibliothek es uns ermöglicht, leistungsstarke N-dimensionale Array-Objekte mit ausgefeilten Funktionen zu verwalten, die vorhanden sind, um diese Arrays zu bearbeiten und zu bearbeiten. Um diese Lektion zu vervollständigen, werden wir die folgenden Abschnitte behandeln:

Was ist Python NumPy-Paket??

Einfach ausgedrückt steht NumPy für 'Numerical Python' und soll genau das erfüllen, komplexe numerische Operationen an N-dimensionalen Array-Objekten sehr einfach und intuitiv durchführen zu können. Es ist die Kernbibliothek, die in verwendet wird Wissenschaftliches rechnen, mit vorhandenen Funktionen zum Ausführen linearer algebraischer Operationen und statistischer Operationen.

Eines der grundlegendsten (und attraktivsten) Konzepte von NumPy ist die Verwendung von N-dimensionalen Array-Objekten. Wir können dieses Array nur als a . nehmen Sammlung von Zeilen und Spalten, genau wie eine MS-Excel-Datei. Es ist möglich, eine Python-Liste in ein NumPy-Array umzuwandeln und Funktionen darüber auszuführen.

NumPy-Array-Darstellung

Nur eine Anmerkung vor dem Start, wir verwenden für diese Lektion eine virtuelle Umgebung, die wir mit dem folgenden Befehl erstellt haben:

python -m virtualenv numpy
source numpy/bin/activate

Sobald die virtuelle Umgebung aktiv ist, können wir die numpy-Bibliothek in der virtuellen Umgebung installieren, damit Beispiele, die wir als nächstes erstellen, ausgeführt werden können:

pip install numpy

Wir sehen so etwas, wenn wir den obigen Befehl ausführen:

Lassen Sie uns mit dem folgenden kurzen Code-Snippet schnell testen, ob das NumPy-Paket korrekt installiert wurde:

numpy als np importieren
a = np.Array([1,2,3])
drucken(a)

Sobald Sie das obige Programm ausführen, sollten Sie die folgende Ausgabe sehen:

Wir können auch mehrdimensionale Arrays mit NumPy haben:

multi_dimension = np.Array([(1, 2, 3), (4, 5, 6)])
drucken (multi_dimension)

Dies erzeugt eine Ausgabe wie:

[[1 2 3]
[4 5 6]]

Sie können auch Anaconda verwenden, um diese Beispiele auszuführen, was einfacher ist und das haben wir oben verwendet. Wenn Sie es auf Ihrem Computer installieren möchten, sehen Sie sich die Lektion an, die beschreibt, wie man Anaconda Python unter Ubuntu 18 installiert.04 LTS“ und teilen Sie Ihr Feedback. Kommen wir nun zu verschiedenen Arten von Operationen, die mit Python NumPy-Arrays ausgeführt werden können.

Verwenden von NumPy-Arrays über Python-Listen

Es ist wichtig zu fragen, warum wir überhaupt NumPy-Arrays brauchen, wenn Python bereits eine ausgeklügelte Datenstruktur hat, um mehrere Elemente aufzunehmen?? Die NumPy-Arrays sind gegenüber Python-Listen bevorzugt aus folgenden Gründen:

Lassen Sie uns beweisen, dass NumPy-Arrays weniger Speicher belegen occupy. Dies kann durch das Schreiben eines sehr einfachen Python-Programms erfolgen:

numpy als np importieren
Importzeit
Importsystem
python_list = Bereich(500)
print(sys.getsizeof(1) * len(python_list))
numpy_arr = np.Bereich(500)
print(numpy_arr.Größe * numpy_arr.Artikelgröße)

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

14000
4000

Dies zeigt, dass die gleiche Größenliste mehr als 3 mal in der Größe im Vergleich zu einem gleich großen NumPy-Array.

Durchführen von NumPy-Vorgängen

Lassen Sie uns in diesem Abschnitt einen kurzen Blick auf die Operationen werfen, die auf NumPy-Arrays ausgeführt werden können.

Dimensionen im Array finden

Da das NumPy-Array in jedem dimensionalen Raum verwendet werden kann, um Daten zu speichern, können wir die Dimension eines Arrays mit dem folgenden Codeausschnitt ermitteln:

numpy als np importieren
numpy_arr = np.Array([(1,2,3),(4,5,6)])
print(numpy_arr.ndim)

Wir sehen die Ausgabe als „2“, da dies ein 2-dimensionales Array ist.

Suchen des Datentyps von Elementen im Array

Wir können das NumPy-Array verwenden, um jeden Datentyp aufzunehmen. Lassen Sie uns nun den Datentyp der Daten herausfinden, die ein Array enthält:

other_arr = np.array([('awe', 'b', 'cat')])
print(other_arr.dtyp)
numpy_arr = np.Array([(1,2,3),(4,5,6)])
print(numpy_arr.dtyp)

Wir haben im obigen Code-Snippet verschiedene Arten von Elementen verwendet. Hier ist die Ausgabe, die dieses Skript zeigt:

int64

Dies geschieht, wenn Zeichen als Unicode-Zeichen interpretiert werden und das zweite offensichtlich ist.

Elemente eines Arrays umformen

Wenn ein NumPy-Array aus 2 Zeilen und 4 Spalten besteht, kann es so umgeformt werden, dass es 4 Zeilen und 2 Spalten enthält. Lassen Sie uns dafür ein einfaches Code-Snippet schreiben:

ursprünglich = np.array([('1', 'b', 'c', '4'), ('5', 'f', 'g', '8')])
Drucken (Original)
umgestaltet = original.umformen(4, 2)
drucken (umgeformt)

Sobald wir das obige Code-Snippet ausführen, erhalten wir die folgende Ausgabe, wobei beide Arrays auf dem Bildschirm gedruckt werden:

[['1' 'b' 'c' '4']
['5' 'f' 'g' '8']]
[['1' 'b']
['c' '4']
['5' 'f']
['g' '8']]

Beachten Sie, wie NumPy für das Verschieben und Zuordnen der Elemente zu neuen Zeilen gesorgt hat.

Mathematische Operationen an Elementen eines Arrays

Das Ausführen mathematischer Operationen an Elementen eines Arrays ist sehr einfach. Wir beginnen mit dem Schreiben eines einfachen Code-Snippets, um das Maximum, das Minimum und die Addition aller Elemente des Arrays herauszufinden. Hier der Codeschnipsel:

numpy_arr = np.Array([(1, 2, 3, 4, 5)])
print(numpy_arr.max())
print(numpy_arr.Mindest())
print(numpy_arr.Summe())
print(numpy_arr.bedeuten())
drucken (np.sqrt(numpy_arr))
drucken (np.std(numpy_arr))

In den letzten beiden Operationen oben haben wir auch die Quadratwurzel und die Standardabweichung jedes Array-Elements berechnet calculated. Das obige Snippet liefert die folgende Ausgabe:

5
1
fünfzehn
3.0
[[1.   1.41421356   1.73205081   2.   2.23606798]]
1.4142135623730951

Konvertieren von Python-Listen in NumPy-Arrays

Selbst wenn Sie Python-Listen in Ihren bestehenden Programmen verwendet haben und nicht den gesamten Code ändern möchten, aber dennoch NumPy-Arrays in Ihrem neuen Code verwenden möchten, ist es gut zu wissen, dass wir ein Python problemlos konvertieren können Liste in ein NumPy-Array. Hier ist ein Beispiel:

# Erstellen Sie 2 neue Listen mit Höhe und Gewicht
Höhe = [2.37,  2.87, 1.52, 1.51, 1.70, 2.05]
Gewicht = [91.65, 97.52, 68.25, 88.98, 86.18, 88.45]
# Erstellen Sie 2 numpy Arrays aus Höhe und Gewicht
np_höhe = np.Array (Höhe)
np_gewicht = np.Array (Gewicht)

Zur Kontrolle können wir jetzt den Typ einer der Variablen ausdrucken:

print(type(np_height))

Und das wird zeigen:

Wir können jetzt eine mathematische Operation über alle Elemente gleichzeitig durchführen. Mal sehen, wie wir den BMI der Personen berechnen können:

# Bmi . berechnen
bmi = np_Gewicht / np_Höhe ** 2
# Ergebnis ausdrucken
drucken (bmi)

Dies zeigt den BMI aller Personen an, der nach Elementen berechnet wird:

[16.31682957 11.8394056  29.54033934 39.02460418 29.8200692  21.04699584]

Ist nicht so einfach und praktisch? Wir können Daten sogar einfach mit einer Bedingung anstelle eines Indexes in eckigen Klammern filtern:

bmi[bmi > 25]

Dies wird geben:

Array([29.54033934, 39.02460418, 29.8200692 ])

Erstellen Sie zufällige Sequenzen und Wiederholungen mit NumPy

Mit vielen Funktionen in NumPy, um zufällige Daten zu erstellen und in einer erforderlichen Form anzuordnen, werden NumPy-Arrays an vielen Stellen zum Generieren von Testdatensätzen häufig verwendet, einschließlich Debugging- und Testzwecken. Wenn Sie beispielsweise ein Array von 0 bis n erstellen möchten, können wir den arange (beachten Sie das einzelne 'r') wie das angegebene Snippet verwenden:

drucken (np.arange(5))

Dies gibt die Ausgabe zurück als:

[0 1 2 3 4]

Die gleiche Funktion kann verwendet werden, um einen niedrigeren Wert bereitzustellen, damit das Array mit anderen Zahlen als 0 beginnt:

drucken (np.arange(4, 12))

Dies gibt die Ausgabe zurück als:

[ 4  5  6  7  8  9 10 11]

Die Zahlen müssen nicht fortlaufend sein, sie können einen festen Schritt überspringen wie:

drucken (np.arange(4, 14, 2))

Dies gibt die Ausgabe zurück als:

[ 4 6 8 10 12]

Wir können die Zahlen auch in absteigender Reihenfolge mit einem negativen Sprungwert erhalten:

drucken (np.arange(14, 4, -1))

Dies gibt die Ausgabe zurück als:

[14 13 12 11 10 9 8 7 6 5]

Es ist möglich, n Zahlen zwischen x und y mit gleichem Leerraum mit der linspace-Methode zu finanzieren, hier ist der Code-Schnipsel dafür:

np.linspace(start=10, stop=70, num=10, dtype=int)

Dies gibt die Ausgabe zurück als:

Array([10, 16, 23, 30, 36, 43, 50, 56, 63, 70])

Bitte beachten Sie, dass die Ausgabeelemente nicht gleichmäßig verteilt sind. NumPy tut sein Bestes, um dies zu tun, aber Sie müssen sich nicht darauf verlassen, da es die Abrundung übernimmt.

Schauen wir uns abschließend an, wie wir mit NumPy eine Reihe von Zufallsfolgen generieren können, die eine der am häufigsten verwendeten Funktionen für Testzwecke ist. Wir übergeben NumPy einen Zahlenbereich, der als Anfangs- und Endpunkt für die Zufallszahlen verwendet wird:

drucken (np.zufällig.randint(0, 10, Größe=[2,2]))

Das obige Snippet erstellt ein 2 x 2 dimensionales NumPy-Array, das Zufallszahlen zwischen 0 und 10 . enthält. Hier ist die Beispielausgabe:

[[0 4]
[8 3]]

Bitte beachten Sie, da die Zahlen zufällig sind, kann die Ausgabe auch zwischen den 2 Durchläufen auf derselben Maschine unterschiedlich sein.

Fazit

In dieser Lektion haben wir uns verschiedene Aspekte dieser Rechenbibliothek angesehen, die wir mit Python verwenden können, um sowohl einfache als auch komplexe mathematische Probleme zu berechnen, die in verschiedenen Anwendungsfällen auftreten können Die NumPy ist eine der wichtigsten Rechenbibliotheken, wenn es um Data Engineering und Berechnung von numerischen Daten, definitiv eine Fähigkeit, die wir unter unserem Gürtel haben müssen.

Bitte teilen Sie Ihr Feedback zur Lektion auf Twitter mit @sbmaggarwal und @LinuxHint.

Installieren Sie Rambox unter Ubuntu
Rambox ist eine plattformübergreifende und Open-Source-Anwendung, mit der Sie Messaging- und E-Mail-Anwendungen in einem einzigen Dashboard verwalten...
So installieren Sie LibreOffice in Ubuntu 20.04 (LTS) & 20.10
LibreOffice ist eine plattformübergreifende, quelloffene und leistungsstarke Office-Suite mit funktionsreichen Tools und einer minimalistischen benutz...
So installieren Sie den mtPaint Graphics Editor - Alternative zu MSPaint für Linux OS
mtPaint ist ein plattformübergreifendes und Open-Source-Zeichenwerkzeug. Es wird verwendet, um das Symbol, die Grafik, die Animationen und die animier...