Erhalten Sie ein tieferes Verständnis der Kernfunktionen und Vorteile der Numpy-Bibliothek

王林
Freigeben: 2024-01-19 09:28:05
Original
591 Leute haben es durchsucht

Erhalten Sie ein tieferes Verständnis der Kernfunktionen und Vorteile der Numpy-Bibliothek

Ein tiefgreifendes Verständnis der Kernfunktionen und Vorteile der Numpy-Bibliothek erfordert spezifische Codebeispiele

Python ist eine Open-Source-Programmiersprache auf hoher Ebene, und Numpy ist eine wichtige Erweiterungsbibliothek für Python. Numpy ist die Abkürzung für Numerical Python. Es bietet ein leistungsstarkes mehrdimensionales Array-Objekt und entsprechende verschiedene Operationsfunktionen. Es ist eine der Kernbibliotheken des wissenschaftlichen Python-Computings. In Bereichen wie Datenverarbeitung, maschinellem Lernen und Deep Learning spielt Numpy eine wichtige Rolle. Dieser Artikel bietet eine ausführliche Einführung in die Kernfunktionen und Vorteile der Numpy-Bibliothek mit spezifischen Codebeispielen.

  1. ndarray mehrdimensionales Array-Objekt

Die Kerndatenstruktur von Numpy ist ndarray (N-dimensionales Array), ein effizientes mehrdimensionales Array-Objekt. Die Elementtypen des ndarray-Arrays müssen gleich sein. Dies können Ganzzahlen, Gleitkommazahlen usw. sein und werden kontinuierlich im Speicher gespeichert. Das ndarray-Array verfügt über mehrere wichtige Attribute, darunter Form (Array-Dimension), Dtype (Elementtyp), Größe (Gesamtzahl der Elemente) und ndim (Array-Dimension).

Das Folgende ist ein einfaches Beispiel für die Erstellung eines Ndarray-Arrays:

import numpy as np
a = np.array([1, 2, 3])
print(a)
print(a.shape)
print(a.dtype)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

[1 2 3]
(3,)
int64
Nach dem Login kopieren

Wir können die Abmessungen des Ndarray-Arrays auch über die reshape()-Methode ändern:

b = np.array([[1, 2, 3], [4, 5, 6]])
print(b.shape)
c = b.reshape(3, 2)
print(c)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

(2, 3)
[[1 2]
 [3 4]
 [5 6]]
Nach dem Login kopieren
  1. Vektoroperation

Eine weitere Funktion von Numpy ist die Vektorisierungsoperation, die nicht nur die Recheneffizienz erheblich verbessert, sondern auch die Schwierigkeit beim Schreiben von Code vereinfacht. Beispielsweise möchten wir jedem Element in einem ndarray-Array eine bestimmte Zahl hinzufügen. Wenn wir keine Vektorisierungsoperationen verwenden, müssen wir eine Schleife schreiben. Ein solcher Code ist oft äußerst ineffizient und schwierig zu warten. Mit der Vektorisierungsoperation von Numpy müssen wir nur eine Codezeile schreiben, um dies zu erreichen:

import numpy as np
a = np.array([1, 2, 3])
b = a + 1
print(b)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

[2 3 4]
Nach dem Login kopieren
  1. Broadcast

Mit der Broadcast-Funktion von Numpy können wir Arrays unterschiedlicher Form berechnen, was auch The ist Schlüssel zu Numpys Vektorisierungsoperationen. Die Broadcast-Regeln sind sehr einfach: Wenn die Achsenlängen der Hinterkantenabmessungen (d. h. die Abmessungen ab dem Ende) zweier Arrays übereinstimmen oder die Länge eines von ihnen 1 beträgt, gelten sie als Broadcast-kompatibel. Die Übertragung erfolgt bei fehlenden Dimensionen oder Dimensionen der Länge 1.

Das Folgende ist ein einfaches Beispiel für eine Übertragung:

a = np.arange(4)
b = np.ones(3)
c = a[:, np.newaxis] + b
print(c)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

[[1. 1. 1.]
 [2. 2. 2.]
 [3. 3. 3.]
 [4. 4. 4.]]
Nach dem Login kopieren

Im obigen Beispiel haben wir ein eindimensionales Array a und ein eindimensionales Array b mit unterschiedlichen Dimensionen erstellt. Damit sie Vektorisierungsoperationen durchführen können, verwenden wir die Broadcast-Funktion, um dem Array a eine neue Dimension hinzuzufügen, sodass die Dimensionen von a und b gleich sind.

  1. ufunc-Funktion

numpys ufunc-Funktion ist eine Reihe von Funktionen, die auf ndarray-Arrays arbeiten, einschließlich: Addieren (Addieren), Subtrahieren (Subtrahieren), Multiplizieren (Multiplizieren), Dividieren (Dividieren) und Ermitteln des Rests (Rest) usw. Das Besondere an diesen Funktionen ist, dass sie ohne Schleifen auf dem gesamten Array arbeiten können. Darüber hinaus unterstützt die ufunc-Funktion auch die Broadcast-Funktion, die auf zwei Arrays unterschiedlicher Form betrieben werden kann, was sehr praktisch und praktisch ist.

Hier ist ein einfaches Beispiel einer ufunc-Funktion:

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.add(a, b)
print(c)
Nach dem Login kopieren

Die Ausgabe lautet:

[5 7 9]
Nach dem Login kopieren
  1. Slicing und Indizierung

Slicing und Indizierung in Numpy ähneln dem Slicing und Indizierung in Python. Da ndarray-Arrays mehrdimensional sind, sind Numpys Slicing und Indizierung flexibler. Wir können die Anweisung a[i] verwenden, um auf das i-te Element im Numpy-Array zuzugreifen, oder wir können a[i:j] verwenden, um das i-te bis j-te Element im Array abzurufen. Darüber hinaus können wir Ellipsen (...) verwenden, um alle anderen Dimensionen darzustellen. Für mehrdimensionale Arrays können wir a[i, j] verwenden, um die Elemente der i-ten Zeile und j-ten Spalte abzurufen, a[:, j], um alle Elemente der j-ten Spalte a abzurufen [i, :], um alle Elemente der i-ten Zeile usw. abzurufen.

Das Folgende ist ein einfaches Beispiel für das Schneiden und Indizieren eines mehrdimensionalen Arrays:

a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(a[0, 1])
print(a[1, :])
print(a[:, 0:2])
Nach dem Login kopieren

Die Ausgabe lautet:

2
[4 5 6]
[[1 2]
 [4 5]
 [7 8]]
Nach dem Login kopieren
  1. Zufallszahlengenerierung

Numpy bietet auch eine Reihe von Funktionen zum Generieren von Zufallszahlen, darunter: np.random .rand(), np.random.randn(), np.random.randint(), np.random.shuffle() usw. Diese Funktionen können in Bereichen wie Datenanalyse, Simulation und maschinellem Lernen eingesetzt werden.

Das Folgende ist ein einfaches Beispiel für die Generierung von Zufallszahlen:

a = np.random.rand(3)
b = np.random.randn(3)
c = np.random.randint(0, 10, size=(2, 3))
print(a)
print(b)
print(c)
Nach dem Login kopieren

Die Ausgabe lautet:

[0.1688015  0.15220492 0.44022309]
[-0.09097023  1.19200587  1.17187612]
[[5 8 8]
 [0 9 1]]
Nach dem Login kopieren

Zusammenfassung

numpy ist eine sehr leistungsstarke und flexible Bibliothek mit vielen Kernfunktionen und Vorteilen, darunter: effiziente mehrdimensionale Array-Objekte, Vektorisierungsoperationen und Broadcasting, Ufunc-Funktionen, Slicing und Indizierung, Zufallszahlengenerierung und mehr. In Bereichen rund um Datenwissenschaft und künstliche Intelligenz spielt Numpy eine wichtige und unersetzliche Rolle. Wir müssen die Verwendung und Code-Implementierung von Numpy genau verstehen, seine Grundprinzipien und allgemeinen Operationen beherrschen und es in der tatsächlichen Arbeit und im Studium anwenden, um die Effizienz und Genauigkeit zu verbessern.

Das obige ist der detaillierte Inhalt vonErhalten Sie ein tieferes Verständnis der Kernfunktionen und Vorteile der Numpy-Bibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!