Python Numpy Tutorial

Python Numpy Tutorial
In dieser Lektion über die Python Numpy-Bibliothek werden wir uns ansehen, wie diese Bibliothek wir leistungsstarke n-dimensionale Array-Objekte mit anspruchsvollen Funktionen verwalten können, um diese Arrays zu manipulieren und zu operieren. Um diese Lektion zu vervollständigen, werden wir die folgenden Abschnitte abdecken:
  • Was ist Python Numpy -Paket?
  • Numpy Arrays
  • Verschiedene Operationen, die über Numpy -Arrays durchgeführt werden können
  • Einige besondere Funktionen

Was ist Python Numpy -Paket?

Einfach ausgedrückt, Numpy steht für 'Numerical Python' und das ist es, was es erfüllen soll, um komplexe numerische Operationen zu ermöglichen, die an n-dimensionalen Array-Objekten sehr einfach und intuitiv durchgeführt werden. Es ist die Kernbibliothek in Wissenschaftliches rechnen, mit Funktionen vorhanden, um lineare algebraische Operationen und statistische Operationen auszuführen.

Eines der grundlegendsten (und attraktivsten) Konzepte für Numpy ist die Verwendung von n-dimensionalen Array-Objekten. Wir können dieses Array als nur eine 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 zu betreiben.

Numpy Array Repräsentation

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

Python -m Virtualenv Numpy
Quelle Numpy/bin/aktivieren

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

PIP Installieren Sie Numpy

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

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

Numph als NP importieren
a = np.Array ([1,2,3])
Druck (a)

Sobald Sie das obige Programm ausgeführt haben, 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)])
print (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, in der „So installieren Sie Anaconda Python auf Ubuntu 18 installieren.04 LTS “und teilen Sie Ihr Feedback. Lassen Sie uns nun zu verschiedenen Arten von Operationen voranschreiten, die mit Python Numpy Arrays durchgeführt werden können.

Verwenden von Numpy -Arrays über Python -Listen

Es ist wichtig zu fragen, wann Python bereits über eine ausgefeilte Datenstruktur verfügt, um mehrere Elemente zu halten, als warum wir überhaupt Numpy -Arrays benötigen? Die Numpy -Arrays sind Bevorzugt gegenüber Python -Listen Aus folgenden Gründen:

  • Bequem für mathematische und berechnete intensive Operationen aufgrund der Anwesenheit kompatibler Numpy -Funktionen
  • Sie sind viel schneller, weil sie Daten intern speichern
  • Weniger Speicher

Lassen Sie uns Beweisen Sie, dass Numpy Arrays weniger Gedächtnis belegen. Dies kann durch das Schreiben eines sehr einfachen Python -Programms erfolgen:

Numph als NP importieren
Importzeit
Importsystem
python_list = Bereich (500)
Druck (sys.getSizeof (1) * len (python_list))
Numpy_arr = np.Arange (500)
print (numpy_arr.Größe * Numpy_arr.itemsize)

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

14000
4000

Dies zeigt, dass dieselbe Größenliste ist mehr als dreimal Größe im Vergleich zu gleichen Größe Numpy Array.

Numpy -Operationen durchführen

Lassen Sie uns in diesem Abschnitt schnell über die Operationen schauen, die auf Numpy -Arrays ausgeführt werden können.

Abmessungen in Array finden

Da das Numpy -Array in jedem dimensionalen Raum zum Aufbewahren von Daten verwendet werden kann, können wir die Dimension eines Arrays mit dem folgenden Code -Snippet finden:

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

Wir werden die Ausgabe als „2“ sehen, da dies ein zweidimensionales Array ist.

Finden Sie den Datentyp von Elementen in Array

Wir können Numpy Array verwenden, um einen beliebigen Datentyp zu halten. Lassen Sie uns nun den Datentyp der Daten finden, das ein Array enthält:

othus_arr = np.Array ([('Ehrfurcht', 'B', 'Cat')])
print (other_arr.DTYPE)
Numpy_arr = np.Array ([(1,2,3), (4,5,6)])
print (numpy_arr.DTYPE)

Wir haben verschiedene Art von Elementen im obigen Code -Snippet verwendet. Hier ist die Ausgabe, die aus diesem Skript angezeigt wird:

INT64

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

Umgestalten Sie Elemente eines Arrays

Wenn ein Numpy -Array aus 2 Zeilen und 4 Säulen besteht, kann es um 4 Zeilen und 2 Spalten umgestaltet werden. Schreiben wir ein einfaches Code -Snippet für dasselbe:

original = np.Array ([('1', 'B', 'C', '4'), ('5', 'F', 'G', '8')])
Druck (Original)
reshaped = original.Umform (4, 2)
drucken (umgeformt)

Sobald wir das obige Code -Snippet ausgeführt haben, erhalten wir die folgende Ausgabe, wobei beide Arrays auf den Bildschirm gedruckt sind:

[['1' 'B' 'c' '4']
['5' 'f' 'g' '8']]]]
[['1' 'B']
['C' '4']
['5' 'f']
['G' '8']]]

Beachten.

Mathematische Operationen auf Elementen eines Arrays

Die Ausführung mathematischer Operationen auf Elementen eines Arrays ist sehr einfach. Wir werden zunächst ein einfaches Code -Snippet schreiben, um maximal, minimal und hinzuzufügen alle Elemente des Arrays. Hier ist der Code -Snippet:

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 2 oben genannten Operationen haben wir auch die Quadratwurzel und die Standardabweichung jeder Array -Elemente berechnet. Der obige Snippet liefert die folgende Ausgabe:

5
1
15
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 vorhandenen Programmen verwendet haben und nicht all diesen Code ändern möchten, aber dennoch Numpy -Arrays in Ihrem neuen Code verwenden möchten, ist es gut zu wissen, dass wir leicht einen Python konvertieren können Listen Sie ein Numpy -Array auf. Hier ist ein Beispiel:

# 2 neue Listen Größe und Gewicht erstellen
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 von Größe und Gewicht
np_height = np.Array (Höhe)
np_weight = np.Array (Gewicht)

Nur um zu überprüfen, können wir jetzt die Art einer der Variablen ausdrucken:

print (type (np_height))

Und das wird zeigen:

Wir können jetzt einen mathematischen Operationen über alle Elemente gleichzeitig ausführen. Mal sehen, wie wir den BMI des Volkes berechnen können:

# BMI berechnen
BMI = NP_WEIGHT / NP_HEIGHT ** 2
# Drucken Sie das Ergebnis aus
Druck (BMI)

Dies zeigt den BMI aller berechneten Menschen in Bezug auf das Element:

[16.31682957 11.8394056 29.54033934 39.02460418 29.8200692 21.04699584]

Ist das nicht einfach und praktisch? Wir können Daten sogar mit einer Bedingung anstelle eines Index in quadratischen Klammern leicht 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 in Numpy vorhandenen Funktionen, um zufällige Daten zu erstellen und sie in einem erforderlichen Formular zu ordnen. Wenn Sie beispielsweise ein Array von 0 bis n erstellen möchten, können wir das Arange (beachten Sie das einzelne 'r') wie das angegebene Snippet:

drucken (np.Arange (5))

Dadurch wird die Ausgabe als:

[0 1 2 3 4]

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

drucken (np.Arange (4, 12))

Dadurch wird die Ausgabe als:

[4 5 6 7 8 9 10 11]

Die Zahlen müssen nicht kontinuierlich sein, sie können einen Fixschritt wie folgt überspringen:

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

Dadurch wird die Ausgabe als:

[4 6 8 10 12]

Wir können die Zahlen auch in einer abnehmenden Reihenfolge mit einem negativen Skip -Wert erhalten:

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

Dadurch wird die Ausgabe als:

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

Es ist möglich, N -Zahlen zwischen x und y mit gleicher Speicherplatz mit der Linspace -Methode zu finanzieren. Hier ist das Code -Snippet für dasselbe:

np.Linspace (Start = 10, Stopp = 70, num = 10, dType = int)

Dadurch wird die Ausgabe als:

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

Bitte beachten Sie, dass die Ausgabeelemente nicht gleichermaßen beabstandet sind. Numpy tut sein Bestes, um dies zu tun, aber Sie müssen sich nicht darauf verlassen.

Lassen Sie uns schließlich ansehen, wie wir eine Reihe zufälliger Sequenz mit Numpy erzeugen können, was eine der am häufigsten verwendeten Funktionen für Testzwecke ist. Wir werden eine Reihe von Zahlen an Numpy übergeben, die als Anfangs- und Endpunkt für die Zufallszahlen verwendet werden:

drucken (np.willkürlich.Randint (0, 10, Größe = [2,2]))

Der obige Snippet erstellt ein 2 -x -dimensionales Numpy -Array, das zufällige Zahlen zwischen 0 und 10 enthält. Hier ist die Beispielausgabe:

[[0 4]
[8 3]]

Bitte beachten Sie, dass die Zahlen zufällig sind. Der Ausgang kann sich sogar zwischen den 2 Läufen auf derselben Maschine unterscheiden.

Abschluss

In dieser Lektion haben wir verschiedene Aspekte dieser Computerbibliothek untersucht, die wir mit Python verwenden können, um einfache und komplexe mathematische Probleme zu berechnen, die in verschiedenen Anwendungsfällen auftreten können Data Engineering und Berechnung des numerischen DAT, definitiv eine Fähigkeit, die wir unter dem Gürtel haben müssen.

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