Kapitel 30
Rechnen mit NumPy
850
Mit Arrays kann man Vektoren und Matrizen darstellen. Man verwendet Vektoren z.B. in der
Geometrie, um Parallelverschiebungen in der Ebene oder im Raum zu beschreiben, und
Matrizen in der linearen Algebra zur Lösung von linearen Gleichungssystemen.
Der Vorteil der Arrays ist, dass große Datenmengen sehr speichereffizient und schnell ver-
arbeitet werden können.
30.2.1 Arrays
Mit der Funktion array() können Sie ein Array-Objekt aus einer beliebigen Zahlenfolge
(z.B. Liste oder Tupel) erzeugen:
Die letzte Zeile zeigt die Repräsentation eines
numpy-Arrays. Die Typbezeichnung lautet
übrigens
numpy.ndarray:
Die
print()-Funktion liefert eine Darstellung, die der mathematischen Schreibweise für
Matrizen ähnelt. Beachten Sie: Zwischen den Zahlen sind keine Kommas.
Mehrdimensionale Arrays können z.B. mithilfe einer Liste aus Listen erzeugt werden:
Die Ausgabe der
print()-Funktion ähnelt der mathematischen Darstellung einer Matrix ent-
hält aber eckige Klammern, die die verschachtelte Struktur eines Arrays erkennen lassen.
Im zweiten Argument können Sie einen Python Datentyp angeben (
bool, int, float, com-
plex
). Dann sind alle Elemente des Arrays einheitlich von diesem Typ.
>>> from numpy import array
>>> a = array ([1, 2, 3])
>>> a
array([1, 2, 3])
>>> type(a)
<class 'numpy.ndarray'>
>>> print(a)
[1 2 3]
>>> a = array([[1, 0], [2, 1]])
>>> a
array([[1, 0],
[2, 1]])
>>> print(a)
[[1 0]
[2 1]]
>>> a = array([1, 0], [2, 1], bool)
>>> print(a)
851
30.2
Arrays erzeugen
NumPy bietet noch weitere Funktionen zur Erzeugung von Arrays. Tabelle 30.1 gibt einen
Überblick.
[[True False]
[True True]]
>>> a = array([[1, 0], [2, 1]], float)
>>> print (a)
[[ 1. 0.]
[ 2. 1.]]
Funktion Erklärung
arange([start, ]
stop[,step] [,dtype])
Die Funktion arbeitet ähnlich wie die Standardfunktion
range(). Sie erzeugt ein Array, das eine Zahlenfolge darstellt.
Optional kann im letzten Argument ein Datentyp spezifiziert
werden.
array(object
[,dtype]))
Erzeugen eines array-Objektes. Das erste Argument object
ist eine Python-Sequenz (z.B. Liste oder Tupel). Optional kann
im zweiten Argument ein Datentyp (
bool, int, float, com-
plex
) spezifiziert werden.
eye(n[, m[, k[,
dtype]]])
Liefert eine Matrix mit n Einsen in einer Diagonalen. Der Auf-
ruf mit einem Argument
eye(n) liefert eine nxn-Einheitsma-
trix (quadratische Matrix aus Nullen mit Einsen in der
Diagonalen). Das optionale Argument
m ist die Anzahl der Spal-
ten, falls die Matrix nicht quadratisch sein soll. Ist
m größer als
n, wird die Matrix breiter und mit Nullen aufgefüllt. Das optio-
nale Argument
k ist die Anzahl von Spalten aus Nullen vor der
Diagonalen aus Einsen.
identity(n[, dtype])
Liefert ein Array, das eine nxn-Einheitsmatrix (quadratische
Matrix aus Nullen mit Einsen in der Diagonalen) darstellt. Das
optionale zweite Argument ist der Datentyp (voreingestellt
float).
linspace(start, stop,
[,num])
Die Funktion liefert ein Array mit gleichmäßig verteilten Zah-
lenwerten von
start bis stop. Dabei ist num (voreingestellt 50)
die Anzahl der Zahlen.
loadtxt(fname)
Das Argument ist der Pfad zu einer Textdatei. Sie muss in jeder
Zeile die gleiche Anzahl von Zahlen enthalten, die jeweils
durch ein Leerzeichen getrennt sind. Aus diesen Daten wird ein
zweidimensionales Array gebildet.
ones(shape[, dtype])
Liefert ein Array aus Einsen. Das erste Argument ist eine natür-
liche Zahl oder ein Tupel aus natürlichen Zahlen, das die Form
des Arrays angibt. Optional kann im zweiten Argument ein
Datentyp (
bool, int, float, complex) spezifiziert werden.
zeros(shape[, dtype])
Liefert ein Array aus Nullen. Die Argumente haben die gleiche
Bedeutung wie bei
ones().
Tabelle 30.1: Funktionen zur Erzeugung von Arrays (vereinfacht)

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.