= np.array([[1, 2, 3], [4, 5, 6]])
matrix print(matrix)
[[1 2 3]
[4 5 6]]
Durch verschiedene Funktionen lassen sich die Form und die Einträge der Arrays verändern.
Eine der wichtigsten Array Operationen ist das Transponieren. Dabei werden Reihen in Spalten und Spalten in Reihe umgewandelt.
= np.array([[1, 2, 3], [4, 5, 6]])
matrix print(matrix)
[[1 2 3]
[4 5 6]]
Transponieren wir dieses Array nun erhalten wir:
print(np.transpose(matrix))
[[1 4]
[2 5]
[3 6]]
Haben wir ein nun diese Matrix und wollen daraus einen Vektor erstellen so können wir die Funktion np.flatten()
benutzen:
= matrix.flatten()
vector print(vector)
[1 2 3 4 5 6]
Um wieder eine zweidimensionale Datenstruktur zu erhalten, benutzen wir die Funktion np.reshape(Ziel, Form)
print(np.reshape(matrix, [3, 2]))
[[1 2]
[3 4]
[5 6]]
Möchten wir den Inhalt eines bereits bestehenden Arrays erweitern, verkleinern oder ändern bietet NumPy ebenfalls die passenden Funktionen.
Haben wir ein leeres Array oder wollen wir ein schon volles Array erweitern benutzen wir die Funktion np.append()
. Dabei hängen wir einen Wert an das bereits bestehende Array an.
= np.array([1, 2, 3, 4, 5, 6])
liste
= np.append(liste, 7)
neue_liste print(neue_liste)
[1 2 3 4 5 6 7]
Gegebenenfalls ist es nötig einen Wert nicht am Ende, sondern an einer beliebigen Position im Array einzufügen. Das passende Werkzeug ist hier die Funktion np.insert(Array, Position, Einschub)
. Im folgenden Beispiel wird an der dritten Stelle die Zahl 7 eingesetzt.
= np.array([1, 2, 3, 4, 5, 6])
liste
= np.insert(liste, 3, 7)
neue_liste print(neue_liste)
[1 2 3 7 4 5 6]
Wenn sich neue Elemente einfügen lassen, können natürlich auch Elemente gelöscht werden. Hierfür wird die Funktion np.delete(Array , Position)
benutzt, die ein Array und die Position der zu löschenden Funktion übergeben bekommt.
= np.array([1, 2, 3, 4, 5, 6])
liste
= np.delete(liste, 3)
neue_liste print(neue_liste)
[1 2 3 5 6]
Zuletzt wollen wir uns noch die Verbindung zweier Arrays anschauen. Im folgenden Beispiel wird dabei das Array b
an das Array a
mithilfe der Funktion np.concatenate((Array a, Array b))
angehängt.
= np.array([1, 2, 3, 4, 5, 6])
a = np.array([7, 8, 9, 10])
b
= np.concatenate((a, b))
neue_liste print(neue_liste)
[ 1 2 3 4 5 6 7 8 9 10]
NumPy bietet auch die Möglichkeit, Arrays zu sortieren. Im folgenden Beispiel starten wir mit einem unsortierten Array. Mit der Funktion np.sort()
erhalten wir ein sortiertes Array.
import numpy as np
= np.array([4, 2, 1, 6, 3, 5])
unsortiert
= np.sort(unsortiert)
sortiert
print(sortiert)
[1 2 3 4 5 6]
Arbeitet man mit Daten bei denen zum Beispiel Projekte Personalnummern zugeordnet werden hat man Daten mit einer endlichen Anzahl an Personalnummern, die jedoch mehrfach vorkommen können wenn diese an mehr als einem Projekt gleichzeitig arbeiten.
Möchte man nun eine Liste die jede Nummer nur einmal enthält, kann die Funtkion np.unique
verwendet werden.
import numpy as np
= np.array([4, 1, 1, 6, 3, 4, 7, 3, 3])
liste_mit_dopplungen
= np.unique(liste_mit_dopplungen)
einzigartige_werte
print(einzigartige_werte)
[1 3 4 6 7]
Setzt man dann noch die Option return_counts=True
kann in einer zweiten Variable gespeichert werden, wie oft jeder Wert vorkommt.
import numpy as np
= np.array([4, 1, 1, 6, 3, 4, 7, 3, 3])
liste_mit_dopplungen
= np.unique(liste_mit_dopplungen, return_counts=True)
einzigartige_werte, anzahl
print(anzahl)
[2 3 2 1 1]
Gegeben ist das folgende zweidimensionale Array matrix:
= np.array([
matrix 4, 7, 2, 8],
[1, 5, 3, 6],
[9, 2, 4, 7]
[ ])