NumPy beherrschen: Wege initialisieren, Ndarray-Operationen und -Funktionen

Veröffentlicht: 2021-01-05

Numpy ist ein Python-Paket, das es ermöglicht, mathematische und numerische Operationen mit hocheffizienter und abstrakter Funktionalität an hochdimensionalen Daten durchzuführen. Beim Aufbau einer Machine-Learning-Lösung für einen bestimmten Geschäftsanwendungsfall wird es sehr wichtig, die Daten so zu transformieren, dass die Vorverarbeitung einfach wird und die Ergebnisse interpretierbar sind. Numpy ist die Kernbibliothek, die es ermöglicht, alle damit verbundenen Funktionen bestmöglich auszuführen.

Inhaltsverzeichnis

Warum NumPy?

Andere Data-Science-Bibliotheken wie Pandas, Matplotlib und Scikit-learn bauen aufgrund ihrer Leistungsfähigkeit auf Numpy auf. Diese Bibliothek bietet ndarray, das anstelle von eingebauten Python-Listen verwendet wird. Die Python-Liste eignet sich hervorragend zum Speichern von Werten, geht jedoch auf Kosten einer längeren Ausführungszeit, da sie Zeiger der Speicherorte speichert, was den Overhead in Bezug auf Speicher und Ausführung erhöht.

Numpy findet seine direkte Verwendung im Bereich der Bildverarbeitung, wo die Bilder als hochmultidimensionale Matrizen verarbeitet werden, um verschiedene Transformationen wie Unschärfe, Farbänderung und Objekterkennung durchzuführen.

Schauen wir uns einige wichtige Numpy-Funktionen an, die jeder Data-Science-Anwärter kennen sollte, aber vorher:

  1. Alle folgenden Funktionscodes gehen davon aus, dass die Bibliothek mit dem Alias ​​np importiert wurde, dh importieren Sie numpy als np.
  2. Der Begriff „Array“ wird verwendet, um ndarray nach diesem Punkt zu definieren.

Verschiedene Möglichkeiten zum Initialisieren

1. Linear beabstandet

Diese Funktion soll ein linear beabstandetes Array innerhalb des Wertebereichs bereitstellen. Die Funktion np.linspace(start, stop, num), bei der start und stop den Wertebereich und num die Anzahl der Samples definieren, gibt gleichmäßig verteilte Werte zurück, während np.arange(start, stop, step) Werte zurückgibt, die sich unterscheiden um Schrittwerte.

2. Besondere Werte

In vielen Fällen möchten Sie vielleicht eine große Matrix mit Werten wie Einsen, Nullen, Identitäten oder konstanten Werten initialisieren. Die Größe des Arrays wird als Tupel übergeben. Numpy erleichtert dies über verschiedene Funktionen:

    • np.zeros(size): Elemente sind Null
    • np.ones(size): Elemente sind Einsen
    • np.full(size, konstanter Wert): Elemente werden mit konstantem Wert übergeben.
    • np.eye(size): Diagonale Elemente sind Einsen und der Rest ist Null. Dies ist die Identitätsmatrix.
    • np.empty(size): Leere Matrix
    • np.random.random(size): Die Zufallswertmatrix wird mit der angegebenen Größe initialisiert.

Lesen Sie: Numpy-Interviewfragen

Ndarray-Operationen

Der Hauptzweck dieser Bibliothek sind effiziente Berechnungen zwischen verschiedenen Arrays. Numpy unterstützt fast alle Arten von mathematischen Operationen und Manipulationen, die elementweise angewendet werden. Einige davon sind unten aufgeführt (Angenommen, zwei Arrays A und B derselben Größe werden mit zufälligen Werten initialisiert):

1. Mathematisch

  • np.add(A, B): Addition
  • np.subtract(A, B): Subtraktion
  • np.divide(A, B): Division
  • np.multiply(A, B): Multiplikation
  • np.exp(A): Exponentialwerte
  • np.sqrt(A): Quadratwurzelwerte
  • np.sin(A), cos(A), tan(A): Trigonometrische Werte
  • np.log(A): Logarithmische Werte
  • np.percentile(A, benötigtes Perzentil, Achse): Beim Übergeben des Perzentilwerts, z. B. 50, gibt die Funktion das 50. Perzentil des Arrays zurück.
  • A.dot(B): Gibt das Punktprodukt der Arrays zurück
  • A == B: Elementweiser Vergleich
  • np.array_equal(A, B): Arrayweiser Vergleich
  • A.sum(): Summe aller Elemente
  • A.min(), max(): Minimal- und Maximalwerte
  • A.cumsum(): Kumulative Summe der Elemente des Arrays
  • A.corrcoef(): Korrelationskoeffizient

2. Manipulationen

  • np.transpose(A) oder AT: Transponieren der Matrix
  • A.ravel(): Flacht das Array ab
  • A.reshape(new_shape): formt das Array um (übergeben Sie hier die Größe direkt, ohne sie in das Tupel einzufügen). Die neue Größe sollte die gleiche sein wie
  • A.resize(size): Ändert die Form des Arrays in eine beliebige Form und verwirft andere Elemente, die nicht Teil dieser neuen Form sind.
  • np.concatenate((A,B), Achse=1 oder 0)
  • np.vstack((A,B)): Stapeln Sie die Arrays vertikal (zeilenweise)
  • np.hstack((A,B)): Horizontaler Stapel

Check Out: Numpy vs. Panda: Unterschied zwischen

Verschiedene Funktionen

  • np.where(): Dies ist eine wesentliche Funktion, die die Notwendigkeit von if-else-Anweisungen eliminiert. Es braucht 3 wichtige Argumente: Bedingung, den Wert, wenn die Bedingung erfüllt ist, und den Wert, wenn nicht. Ein einfaches Beispiel hierfür kann sein, wenn Sie eine Spalte basierend auf einem bestimmten Schwellenwert binarisieren müssen.
  • np.intersect1d(): Diese Funktion gibt den Schnittpunkt zweier 1-d-Arrays zurück. Das bedeutet, dass die gemeinsamen Werte dieser Arrays von dieser Funktion zurückgegeben werden. Wenn die übergebenen Arrays nicht 1-d sind, wird es abgeflacht.
  • np.allclose(): Es ist eine interessante Funktion. Es gibt Situationen, in denen Sie sich beim Vergleichen von Arrays ein gewisses Maß an Toleranz leisten können oder ähnliche Arrays entdecken möchten. Diese Funktion übernimmt die Arrays und den gewünschten Toleranzwert. Zum Beispiel:
    • arr1 = np.array([1,2,3,4])
    • arr2 = np.array([2,3,4,5])
    • np.allclose(arr1, arr2, 0.5) : gibt False zurück
    • np.allclose(arr1, arr2, 1): gibt True zurück
  • argmin(), argmax() und argsort(): Wie der Name schon sagt, liefern diese Funktionen die Indizes der jeweiligen Namen zurück. A.argmin() gibt den minimalen Elementindex zurück, A.argmax() das Gegenteil und A.argsort() gibt die Indizes des sortierten Arrays zurück. Diese Funktionen können nützlich sein, wenn das Ergebnis vom Index abhängt.
  • np.clip(): Dies wird verwendet, um die Werte innerhalb eines bestimmten Bereichs zu konvertieren. Wenn ein Array beispielsweise Werte von 1 bis 30 hat und Sie die Werte zwischen 14 und 27 haben möchten, ohne andere Werte zu verlieren, skaliert diese Funktion die Werte kleiner als 19 auf 19 und verkleinert Werte größer als 27 auf 27.

Fazit

Es gibt viele weitere Funktionen beim Arbeiten mit numpy Arrays, aber dies sind die am häufigsten verwendeten Funktionen. Die Operationen, die auf Pandas-Spalten oder -Serien angewendet werden, befinden sich tatsächlich auf ndarray, da die Serie ein eindimensionales ndarray ist.

Numpy ist ein großartiges Tool zum Generieren gefälschter Daten zum Testen bestimmter Algorithmen oder zum Simulieren eines Szenarios. Es wird häufig in Computer-Vision-Anwendungen verwendet, bei denen das Bild in mehrdimensionale Matrizen umgewandelt wird, um die erforderlichen Operationen durchzuführen, oder beim Deep Learning, bei dem die Gewichtungen des neuronalen Netzwerks von diesen Ndarrays gehalten werden.

Wenn Sie neugierig sind, mehr über Data Science zu erfahren, schauen Sie sich das PG Diploma in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische Workshops, Mentoring mit Branchenexperten, 1- on-1 mit Mentoren aus der Branche, mehr als 400 Stunden Lern- und Jobunterstützung bei Top-Unternehmen.

Bereiten Sie sich auf eine Karriere der Zukunft vor

PG-DIPLOM VON IIIT-B, 100+ STUNDEN KLASSENZIMMERLERNEN, 400+ STUNDEN ONLINE-LERNEN & 360-GRAD-KARRIEREUNTERSTÜTZUNG
Erfahren Sie mehr