numpy — numpy-kompatible Array-Operationen¶
Das Submodul numpy von ulab stellt eine numpy-kompatible API bereit, die um den n-dimensionalen Array-Typ ndarray herum aufgebaut ist. Es implementiert eine ausgewählte Teilmenge von CPython numpy: Array-Konstruktion, elementweise Mathematik, Reduktionen und Statistik, lineare Algebra, FFTs, Erzeugung von Zufallszahlen, Polynomanpassung und grundlegende Ein-/Ausgabe.
Das Submodul wird üblicherweise als np importiert:
from ulab import numpy as np
a = np.array([1, 2, 3, 4], dtype=np.float)
b = np.linspace(0, 1, num=5)
c = np.dot(a.reshape((2, 2)), a.reshape((2, 2)))
Jedes dtype-Argument ist eine der auf Modulebene bereitgestellten Ganzzahlkonstanten: numpy.bool, numpy.uint8, numpy.int8, numpy.uint16, numpy.int16, numpy.float (Standard) und (sofern komplexe Unterstützung einkompiliert ist) numpy.complex. Der Ergebnistyp ndarray verweist auf numpy.ndarray.
Submodule¶
Klasse ndarray — das n-dimensionale Array¶
Das ndarray ist der n-dimensionale, dtype-bewusste Container im Kern von numpy / ulab. Die Daten werden in einem zusammenhängenden Block gespeichert, dessen Interpretation durch einen kleinen Header (dtype, shape, strides, ndim, itemsize) beschrieben wird. Viele Operationen – reshape, transpose, Slicing – passen nur diesen Header an und sind daher sehr günstig; Methoden, die neuen Speicher belegen (copy, flatten, die meisten arithmetischen Operationen), geben ein neues dichtes Array zurück.
Derselbe Typ ist als ulab.ndarray, numpy.ndarray und (innerhalb dieser Seite) einfach als ndarray erreichbar.
- class numpy.ndarray(values: ndarray | bytes | list | tuple, *, dtype: int = numpy.float)¶
Erzeugt ein neues
ndarray.- Parameter:
values – Quelldaten. Entweder ein anderes
ndarray(das tief kopiert wird, mit Typkonvertierung, falls sichdtypeunterscheidet) oder ein beliebiges iterierbares MicroPython-Objekt. Verschachtelte iterierbare Objekte erzeugen mehrdimensionale Arrays; die inneren iterierbaren Objekte müssen alle dieselbe Länge haben, andernfalls wird einValueErrorausgelöst.dtype – Elementtyp für das neue Array. Eine der von
numpybereitgestellten Typ-Code-Ganzzahlen (numpy.bool,numpy.uint8,numpy.int8,numpy.uint16,numpy.int16,numpy.floatund – sofern unterstützt –numpy.complex) oder einedtype-Instanz. Standardwert istnumpy.float.
Die Fabrikfunktion
numpy.arrayist die übliche Methode, um einndarrayzu erzeugen; sie leitet an diesen Konstruktor weiter.- byteswap(*, inplace: bool = False) ndarray¶
Vertauscht die Byte-Reihenfolge jedes Elements. Bei
uint16-,int16-,float- undcomplex-Arrays kehrt dies die Byte-Reihenfolge pro Element um, was nützlich ist, wenn Daten von Peripheriegeräten verarbeitet werden, deren Endianness nicht mit der des Mikrocontrollers übereinstimmt. Bei Ein-Byte-dtypes (bool,uint8,int8) ist dies eine wirkungslose Operation, die eine Ansicht oder Kopie zurückgibt.Wenn
inplacegleichFalseist (Standard), wird ein neuesndarrayzurückgegeben und das Original bleibt unverändert. WenninplacegleichTrueist, werden die Bytes vonselfan Ort und Stelle vertauscht und eine Ansicht vonselfzurückgegeben.
- copy() ndarray¶
Gibt eine neue dichte, tiefe Kopie des Arrays zurück. Die Kopie besitzt ihre eigenen Daten; Änderungen daran wirken sich nicht auf das Original aus.
- flatten(*, order: str = 'C') ndarray¶
Gibt eine neue eindimensionale Kopie des Arrays zurück.
- Parameter:
order –
'C'(Standard) durchläuft die Daten in C-Reihenfolge (letzte Achse variiert am schnellsten);'F'durchläuft sie in Fortran-Reihenfolge (erste Achse variiert am schnellsten).
- reshape(shape: int | tuple[int, ...]) ndarray¶
Gibt eine Ansicht des Arrays mit einer neuen Form zurück. Die Gesamtzahl der Elemente muss unverändert bleiben, andernfalls wird ein
ValueErrorausgelöst. Nur verfügbar, wennULAB_MAX_DIMS > 1. Entspricht der Zuweisung anshape.
- sort(*, axis: int | None = -1) None¶
Sortiert das Array an Ort und Stelle.
- Parameter:
axis – Achse, entlang der sortiert wird.
-1(Standard) sortiert entlang der letzten Achse;Noneflacht das Array zunächst ab und sortiert es dann.
- tobytes() bytearray¶
Gibt ein
bytearrayzurück, das den zugrunde liegenden Datenpuffer des Arrays referenziert. Schreibvorgänge über das zurückgegebenebytearrayändern das Array an Ort und Stelle. LöstValueErroraus, wenn das Array nicht dicht ist (z. B. eine gesliced Ansicht).
- tolist() list¶
Gibt den Inhalt des Arrays als (möglicherweise verschachtelte) Python-
listzurück. Die Verschachtelungstiefe entsprichtndim.
- transpose() ndarray¶
Gibt die Transponierte des Arrays zurück (umgekehrte Achsen). Für eindimensionale Arrays wird
selfzurückgegeben. Nur verfügbar, wennULAB_MAX_DIMS > 1. Das AttributTist eine Kurzform für diese Methode.
- dtype: dtype | int¶
Der Datentyp der Array-Elemente. Gibt eine
dtype-Instanz zurück, wenn die Firmware mit aktiviertemULAB_HAS_DTYPE_OBJECTerstellt wurde, andernfalls den zugrunde liegenden Ein-Zeichen-Typ-Code als Ganzzahl.
- flat: flatiter¶
Ein flacher Iterator, der jedes Element des Arrays in C-Reihenfolge liefert. Anders als
flatten()belegt das Iterieren überflatkein neues Array.
- shape: tuple[int, ...]¶
Längen des Arrays entlang jeder Achse. Die Zuweisung eines Tupels an
shapeändert die Form des Arrays an Ort und Stelle (entsprichtreshape()).
- strides: tuple[int, ...]¶
Anzahl der Bytes, die im Speicher entlang jeder Achse zu durchlaufen sind, um das nächste Element entlang dieser Achse zu erreichen.
- T: ndarray¶
Die Transponierte des Arrays; entspricht
transpose().
Unterstützte Operatoren¶
ndarray-Instanzen unterstützen die folgenden Operatoren. Binäre Operatoren broadcasten ihre Operanden gemäß den standardmäßigen numpy-Broadcasting-Regeln und folgen den Aufwärtskonvertierungsregeln von numpy (z. B. uint8 + int8 => int16, uint16 + int16 => float); Operationen mit einem komplexen Operanden erzeugen ein komplexes Ergebnis.
Arithmetik (binär): +, -, *, /, //, %, **. Reflektierte (rechtsseitige) Operanden sowie die In-Place-Varianten +=, -=, *=, /=, %=, **= werden ebenfalls unterstützt. Es werden sowohl ndarray-mit-ndarray- als auch ndarray-mit-Skalar-Formen akzeptiert. Ganzzahldivision (//) und der Modulo-Operator (%) sind für complex-Arrays nicht implementiert.
Vergleich: ==, !=, <, <=, >, >=. Jeder gibt ein boolesches ndarray der Broadcast-Form zurück.
Bitweise (nur Ganzzahl-Arrays): &, |, ^. Das Anwenden auf ein float- oder complex-Array löst TypeError aus.
Unär: + (gibt eine Kopie zurück), - (Negation; bei vorzeichenlosen dtypes wickeln sich die Werte modulo \(2^N\) um), abs() (elementweiser Absolutwert; bei vorzeichenlosen dtypes wird ohne Berechnung eine Kopie zurückgegeben), ~ (bitweise Inversion, nur Ganzzahl-dtypes), len() (gibt die Länge der ersten Achse zurück).
Indizierung und Slicing: a[i], a[i, j, ...], a[start:stop:step], boolesche Maskenindizierung (a[mask]) und Ganzzahl-Array-Indizierung (Fancy Indexing) werden alle sowohl beim Lesen als auch beim Schreiben unterstützt.
Iteration: Das Iterieren über ein ndarray liefert Teil-Arrays entlang der ersten Achse (bei 1-D-Arrays jeweils ein Element). Verwenden Sie flat, um unabhängig von der Dimensionalität über jedes skalare Element zu iterieren.
Der Matrixmultiplikationsoperator @ ist nicht implementiert; verwenden Sie stattdessen numpy.dot (np.dot(a, b)).
Die Verschiebungsoperatoren (<<, >>) sind nicht auf Operatorebene implementiert. Verwenden Sie numpy.left_shift und numpy.right_shift für elementweise Ganzzahlverschiebungen.
Array-Konstruktion¶
- numpy.array(values: ndarray | list | tuple, *, dtype: int = float) ndarray¶
Konstruiert ein neues
ndarrayaus einem verschachtelten iterierbaren Objekt von Zahlen. Entspricht dem alternativen Konstruktor fürnumpy.ndarray.
- numpy.arange(start: int | float, stop: int | float | None = None, step: int | float = 1, *, dtype: int | None = None) ndarray¶
Gibt gleichmäßig beabstandete Werte über das halboffene Intervall
[start, stop)zurück. Wenn nur ein Positionsargument angegeben wird, wird es alsstopmitstart = 0behandelt. Wenn dtype weggelassen wird, wird es aus den Eingaben abgeleitet (Ganzzahl, falls start, stop und step alle Ganzzahlen und im Bereich sind).
- numpy.asarray(a: ndarray | list | tuple, *, dtype: int | None = None) ndarray¶
Wenn a bereits ein
ndarrayist, dessen dtype mit dtype übereinstimmt (oder dtype gleichNoneist), wird a unverändert zurückgegeben; andernfalls wird ein neues Array erzeugt (mit der angeforderten dtype-Konvertierung, sofern angegeben). Iterierbare Objekte werden wie innumpy.arraykonvertiert.
- numpy.concatenate(arrays: tuple, *, axis: int = 0) ndarray¶
Verbindet eine Sequenz von
ndarrayentlang einer vorhandenen Achse axis. Alle Eingabe-Arrays müssen denselben dtype, dieselbe ndim und auf jeder Achse außer axis dieselbe Form besitzen.
- numpy.diag(a: ndarray, *, k: int = 0) ndarray¶
Für ein 2-D-a wird ein 1-D-Array zurückgegeben, das die k-te Diagonale enthält. Für ein 1-D-a wird ein 2-D-Quadratarray zurückgegeben, in dem a auf der k-ten Diagonale platziert ist. k kann positiv (oberhalb der Hauptdiagonale) oder negativ (unterhalb) sein.
- numpy.empty(shape: int | tuple[int, ...], *, dtype: int = float) ndarray¶
Alias für
zeros; gibt ein mit Nullen gefülltes Array der Form shape und des Typs dtype zurück. (ulab lässt den Puffer nicht uninitialisiert.)
- numpy.eye(N: int, M: int | None = None, k: int = 0, *, dtype: int = float) ndarray¶
Gibt ein 2-D-N x M-Array zurück (quadratisch N x N, falls M gleich
Noneist) mit Einsen auf der k-ten Diagonale und Nullen andernorts.
- numpy.frombuffer(buffer: bytes, *, dtype: int = float, count: int = -1, offset: int = 0) ndarray¶
Interpretiert ein Buffer-Protokoll-Objekt als 1-D-
ndarrayvom Typ dtype. count ist die Anzahl der zu lesenden Elemente (-1liest alle verfügbaren Elemente); offset überspringt so viele Bytes am Anfang des Puffers.
- numpy.full(shape: int | tuple[int, ...], fill_value: int | float | bool, *, dtype: int = float) ndarray¶
Gibt ein neues Array der Form shape und des Typs dtype zurück, bei dem jedes Element auf fill_value gesetzt ist.
- numpy.linspace(start: float, stop: float, num: int = 50, *, endpoint: bool = True, retstep: bool = False, dtype: int = float) ndarray | tuple[ndarray, float]¶
Gibt num gleichmäßig beabstandete Stichproben über das geschlossene Intervall
[start, stop]zurück (oder halboffen, falls endpoint gleichFalseist). Wenn retstep gleichTrueist, wird ein Tupel(samples, step)zurückgegeben. Komplexe start/stop erzeugen ein komplexes Array (wenn komplexe Unterstützung aktiviert ist).
- numpy.logspace(start: float, stop: float, num: int = 50, *, base: float = 10.0, endpoint: bool = True, dtype: int = float) ndarray¶
Gibt num gleichmäßig auf einer logarithmischen Skala beabstandete Stichproben zurück: Das Ergebnis beginnt bei
base ** startund endet beibase ** stop.
- numpy.meshgrid(*xi: ndarray, indexing: str = 'xy') tuple[ndarray, ...]¶
Gibt ein Tupel von Koordinatenmatrizen aus einer Sequenz eindimensionaler Koordinaten-Arrays zurück. Mit indexing
'xy'(Standard) werden die ersten beiden Eingaben als kartesische Koordinaten behandelt und ihre Ausgabeachsen vertauscht; mit'ij'wird Matrix-Indizierung verwendet. Die Implementierung entspricht dem NumPy-Äquivalent mitcopy=Trueundsparse=False.
Inspektion / Ausgabe¶
- numpy.get_printoptions() dict¶
Gibt die aktuellen Array-Ausgabeoptionen als Dict mit den Schlüsseln
thresholdundedgeitemszurück.
- numpy.set_printoptions(*, threshold: int | None = None, edgeitems: int | None = None) None¶
Legt die Array-Ausgabeoptionen fest. threshold ist die maximale Anzahl von Array-Elementen, die vollständig ausgegeben werden; edgeitems ist die Anzahl der Elemente, die an jedem Ende einer Achse angezeigt werden, wenn das Array zusammengefasst wird.
Vergleich¶
- numpy.clip(a: ndarray | int | float, a_min: ndarray | int | float, a_max: ndarray | int | float) ndarray | int | float¶
Begrenzt die Werte von a, sodass
a_min <= result <= a_max. Entsprichtmaximum(a_min, minimum(a, a_max)); das Broadcasting folgt denselben Regeln wieminimum.
- numpy.equal(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | bool¶
Elementweises
x1 == x2; gibt ein booleschesndarrayzurück (oder einenbool-Skalar, falls beide Eingaben Skalare sind). Zur Portabilität bereitgestellt – der==-Operator auf Arrays liefert dasselbe Ergebnis.
- numpy.not_equal(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | bool¶
Elementweises
x1 != x2; das boolesche Gegenstück zuequal.
- numpy.isfinite(x: ndarray | int | float) ndarray | bool¶
Gibt ein boolesches Array (oder einen Skalar) zurück, das/der
Trueist, wo die Eingabe endlich ist. Ganzzahlige Eingaben sind immer endlich.
- numpy.isinf(x: ndarray | int | float) ndarray | bool¶
Gibt ein boolesches Array (oder einen Skalar) zurück, das/der
Trueist, wo die Eingabe unendlich ist. Ganzzahlige Eingaben sind nie unendlich.
- numpy.maximum(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | int | float¶
Elementweises Maximum zweier Arrays / Skalare. Die Argumente werden zusammen gebroadcastet; falls sich die dtypes unterscheiden, wird die Ausgabe aufwärtskonvertiert.
- numpy.minimum(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | int | float¶
Elementweises Minimum zweier Arrays / Skalare; Gegenstück zu
maximum.
- numpy.nonzero(a: ndarray) tuple[ndarray, ...]¶
Gibt ein Tupel von
ndarrayzurück, eines pro Dimension von a, das die Indizes der von null verschiedenen Elemente von a enthält.
- numpy.where(condition: ndarray | int | float, x: ndarray | int | float, y: ndarray | int | float) ndarray¶
Gibt ein
ndarrayzurück, dessen Elemente aus x stammen, wo condition wahr ist, und aus y andernfalls. Die drei Eingaben werden zusammen gebroadcastet; der Ausgabe-dtype ist die Aufwärtskonvertierung von x und y.
Numerische Reduktionen¶
- numpy.all(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | bool¶
Prüft, ob alle Elemente entlang axis zu
Trueausgewertet werden. Mitaxis=None(Standard) wird das abgeflachte Array getestet und ein einzelnerboolzurückgegeben.
- numpy.any(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | bool¶
Prüft, ob irgendein Element entlang axis zu
Trueausgewertet wird. Mitaxis=Nonewird das abgeflachte Array getestet.
- numpy.argmax(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | int¶
Gibt den Index des größten Elements entlang axis zurück. Mit
axis=Nonewird das Array abgeflacht und eine einzelne Ganzzahl zurückgegeben.
- numpy.argmin(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | int¶
Gibt den Index des kleinsten Elements entlang axis zurück. Mit
axis=Nonewird das Array abgeflacht und eine einzelne Ganzzahl zurückgegeben.
- numpy.argsort(a: ndarray, *, axis: int = -1) ndarray¶
Gibt ein vorzeichenloses Ganzzahl-Index-
ndarrayzurück, dessen Einträge a in aufsteigender Reihenfolge entlang axis sortieren. Der Ausgabe-dtype istuint16, daher darf keine Achse 65535 Elemente überschreiten.axis=Nonewird nicht unterstützt.
- numpy.cross(a: ndarray, b: ndarray) ndarray¶
Gibt das Kreuzprodukt zweier 1-D-Arrays der Länge 3 zurück.
- numpy.diff(a: ndarray, *, n: int = 1, axis: int = -1) ndarray¶
Gibt die n-te diskrete Vorwärtsdifferenz von a entlang axis zurück. n muss im Bereich
0..9liegen (die Differenzierungsschablone wird in einemint8gespeichert); die Länge von axis schrumpft um n. Die numpy-Schlüsselwörterprependundappendsind nicht implementiert.
- numpy.flip(a: ndarray, *, axis: int | None = None) ndarray¶
Gibt ein neues Array zurück, in dem die Reihenfolge der Elemente entlang axis umgekehrt ist; mit
axis=Nonewird das Array entlang jeder Achse umgekehrt.
- numpy.max(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float¶
Gibt das größte Element entlang axis zurück. Mit
axis=None(Standard) wird das abgeflachte Array auf einen Skalar reduziert. Das numpy-Schlüsselwortoutist nicht implementiert.
- numpy.min(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float¶
Gibt das kleinste Element entlang axis zurück; Gegenstück zu
max.
- numpy.mean(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | float¶
Gibt das arithmetische Mittel entlang axis zurück. Mit
axis=None(Standard) wird das Mittel des abgeflachten Arrays alsfloatzurückgegeben.
- numpy.median(a: ndarray, *, axis: int | None = None) ndarray | float¶
Gibt den Median entlang axis zurück. Mit
axis=Nonewird das Array zuerst abgeflacht. Der Ausgabe-dtype ist immer float.
- numpy.roll(a: ndarray, shift: int, *, axis: int | None = None) ndarray¶
Gibt a zurück, wobei seine Elemente um shift Positionen gerollt (zyklisch verschoben) werden. Mit
axis=None(Standard) wird das Array zuerst abgeflacht. Negative Verschiebungen rollen in die entgegengesetzte Richtung.
- numpy.sort(a: ndarray, *, axis: int = -1) ndarray¶
Gibt eine sortierte Kopie von a entlang axis unter Verwendung von Heap-Sort zurück. Mit
axis=Nonewird das Array zuerst abgeflacht. Die numpy-Schlüsselwörterkindundordersind nicht implementiert.
Statistik¶
- numpy.bincount(x: ndarray, *, weights: ndarray | None = None, minlength: int | None = None) ndarray¶
Zählt die Anzahl der Vorkommen jedes Werts im eindimensionalen, nicht-negativen Ganzzahl-Array x. Der dtype von x muss
uint8oderuint16sein. Wenn weights angegeben ist, trägt jeder Eintrag von x sein passendes Gewicht bei statt1, und die Ausgabe ist vom dtypefloat; andernfalls ist die Ausgabe vom dtypeuint16. Wenn minlength angegeben ist, hat das Ausgabe-Array mindestens so viele Elemente (zusätzliche Einträge sind null).
Transformation¶
- numpy.compress(condition: ndarray | list | tuple, a: ndarray, *, axis: int | None = None) ndarray¶
Gibt Ausschnitte von a zurück, die entlang axis durch die boolesche condition ausgewählt werden. Mit
axis=Nonewird das abgeflachte Array verwendet.
- numpy.delete(a: ndarray, indices: int | ndarray | list | tuple | range, *, axis: int | None = None) ndarray¶
Gibt eine Kopie von a zurück, bei der die Einträge an indices entlang axis entfernt sind. Mit
axis=Nonewird das Array zuerst abgeflacht. Negative Indizes zählen vom Ende von axis; indices wird vor dem Löschen intern sortiert.
- numpy.dot(m1: ndarray, m2: ndarray) ndarray | float¶
Gibt das Skalarprodukt zweier Arrays zurück. Für zwei 1-D-Arrays ist dies das innere Produkt (ein
float-Skalar). Für 2-D-Arrays ist dies die Matrixmultiplikation; die inneren Dimensionen müssen übereinstimmen. Das Ergebnis ist immer vom dtypefloat.
Approximation¶
- numpy.interp(x: ndarray, xp: ndarray, fp: ndarray, *, left: float | None = None, right: float | None = None) ndarray¶
Eindimensionale lineare Interpolation. xp muss ein monoton steigendes 1-D-Array unabhängiger Werte sein; fp enthält die entsprechenden abhängigen Werte; x sind die Punkte, an denen der Interpolant ausgewertet wird. left und right überschreiben den zurückgegebenen Wert für
x < xp[0]bzw.x > xp[-1](Standardwerte:fp[0]undfp[-1]).
Auswahl¶
- numpy.take(a: ndarray, indices: ndarray | list | tuple, *, axis: int | None = None, out: ndarray | None = None, mode: str | None = None) ndarray¶
Entnimmt Elemente aus a an den angegebenen indices entlang axis. Mit
axis=Nonewird das abgeflachte Array verwendet. mode wählt das Verhalten außerhalb der Grenzen:"raise"(Standard – löstValueErroraus),"wrap"(modulo der Achsenlänge) oder"clip"(auf den gültigen Bereich begrenzen; negative Indizes sind nicht erlaubt). Wenn out angegeben ist, wird das Ergebnis dort hineingeschrieben.
Bitweise¶
- numpy.bitwise_and(x1: ndarray, x2: ndarray) ndarray¶
Elementweises bitweises UND zweier Ganzzahl-Arrays; Broadcasting wird unterstützt. Ein nicht-ganzzahliger dtype löst eine Ausnahme aus.
- numpy.bitwise_or(x1: ndarray, x2: ndarray) ndarray¶
Elementweises bitweises ODER zweier Ganzzahl-Arrays.
- numpy.bitwise_xor(x1: ndarray, x2: ndarray) ndarray¶
Elementweises bitweises XOR zweier Ganzzahl-Arrays.
Filterung¶
- numpy.convolve(a: ndarray, v: ndarray) ndarray¶
Gibt die diskrete lineare Faltung zweier 1-D-Arrays zurück. Es wird nur der Modus
"full"unterstützt; das numpy-Schlüsselwortmodewird nicht akzeptiert (andere Modi lassen sich durch Slicing des vollständigen Ergebnisses erhalten). Die Ausgabelänge beträgtlen(a) + len(v) - 1.
Polynom¶
- numpy.polyfit(y: ndarray | list | tuple, deg: int) ndarray
Passt ein Polynom vom Grad deg mittels kleinster Quadrate an die Datenpunkte
(x, y)an und gibt die Polynomkoeffizienten zurück (höchster Grad zuerst). Wenn x weggelassen wird, wirdrange(len(y))verwendet. LöstValueErroraus, wenn sich die Längen von x und y unterscheiden.
Ein-/Ausgabe¶
- numpy.load(file: str) ndarray¶
Liest ein zuvor mit
savegeschriebenes Array aus file (numpys plattformunabhängiges.npy-Format). Die Endianness wird zur Laufzeit konvertiert, wenn die Byte-Reihenfolge der Datei von der des Hosts abweicht.
- numpy.loadtxt(file: str, *, delimiter: str | None = None, comments: str = '#', max_rows: int = -1, usecols: int | ndarray | list | tuple | None = None, dtype: int = float, skiprows: int = 0) ndarray¶
Liest numerische Daten aus einer Text-file und gibt sie als
ndarrayzurück. delimiter ist standardmäßig Leerraum; comments ist der Zeilenkommentar-Marker; max_rows begrenzt die Anzahl der gelesenen Datenzeilen (-1für alle); usecols wählt Spalten per Index; skiprows überspringt so viele führende Zeilen. Wenn dtype nicht float ist, werden Werte durch Runden konvertiert.
- numpy.save(file: str, a: ndarray) None¶
Speichert a in file in numpys plattformunabhängigem
.npy-Format.
- numpy.savetxt(file: str, a: ndarray, *, delimiter: str = ' ', header: str | None = None, footer: str | None = None, comments: str = '# ') None¶
Schreibt a als Text in file. delimiter trennt Werte innerhalb einer Zeile; header und footer werden, falls angegeben, vor/nach den Daten geschrieben, jeweils mit comments präfixiert. Werte werden als Gleitkommazahlen geschrieben.
Komplexe Hilfsfunktionen¶
Diese Funktionen sind nur verfügbar, wenn ulab mit komplexer Unterstützung (ULAB_SUPPORTS_COMPLEX) kompiliert wurde.
- numpy.real(val: ndarray) ndarray¶
Gibt den Realteil von val zurück. Für eine Eingabe mit reellem dtype wird eine Kopie unter Beibehaltung des dtype zurückgegeben; für eine komplexe Eingabe wird ein float-
ndarrayzurückgegeben.
- numpy.imag(val: ndarray) ndarray¶
Gibt den Imaginärteil von val zurück. Für eine Eingabe mit reellem dtype wird ein Array aus Nullen mit demselben dtype zurückgegeben; für eine komplexe Eingabe wird ein float-
ndarrayzurückgegeben.
Universelle Funktionen¶
Elementweise mathematische Funktionen. Jede akzeptiert einen Skalar oder ein ndarray und gibt ein Ergebnis passender Form zurück (einen float-Skalar bei skalarer Eingabe, ein ndarray bei Array-Eingabe). Beim Aufruf mit einem ndarray ist das Ergebnis ein neues Gleitkomma-ndarray; ein optionales out-Schlüsselwort kann übergeben werden, um das Ergebnis in ein vorab belegtes float-ndarray derselben Größe zu schreiben.
- numpy.acos(x: ndarray | float, /) ndarray | float¶
Berechnet den Arkuskosinus (inverser Kosinus) jedes Elements von x; das Ergebnis ist in Radiant.
- numpy.acosh(x: ndarray | float, /) ndarray | float¶
Berechnet den inversen hyperbolischen Kosinus jedes Elements von x.
- numpy.arctan2(y: ndarray | float, x: ndarray | float, /) ndarray | float¶
Berechnet elementweise den Arkustangens mit zwei Argumenten
atan2(y, x); unterstützt Broadcasting zwischen den beiden Eingaben.
- numpy.around(x: ndarray, /, decimals: int = 0) ndarray¶
Rundet die Elemente des
ndarrayx auf die angegebene Anzahl von decimals; das erste Argument muss einndarraysein.
- numpy.asin(x: ndarray | float, /) ndarray | float¶
Berechnet den Arkussinus (inverser Sinus) jedes Elements von x; das Ergebnis ist in Radiant.
- numpy.asinh(x: ndarray | float, /) ndarray | float¶
Berechnet den inversen hyperbolischen Sinus jedes Elements von x.
- numpy.atan(x: ndarray | float, /) ndarray | float¶
Berechnet den Arkustangens (inverser Tangens) jedes Elements von x; das Ergebnis ist in Radiant.
- numpy.atanh(x: ndarray | float, /) ndarray | float¶
Berechnet den inversen hyperbolischen Tangens jedes Elements von x.
- numpy.ceil(x: ndarray | float, /) ndarray | float¶
Berechnet die Aufrundung (kleinste Ganzzahl, die nicht kleiner als der Wert ist) jedes Elements von x.
- numpy.cos(x: ndarray | float, /) ndarray | float¶
Berechnet den Kosinus jedes Elements von x (in Radiant).
- numpy.cosh(x: ndarray | float, /) ndarray | float¶
Berechnet den hyperbolischen Kosinus jedes Elements von x.
- numpy.degrees(x: ndarray | float, /) ndarray | float¶
Konvertiert jedes Element von x von Radiant in Grad.
- numpy.exp(x: ndarray | float, /) ndarray | float¶
Berechnet die Exponentialfunktion
e**xjedes Elements von x; kann bei komplexer Eingabe ein komplexesndarrayzurückgeben (wenn komplexe Unterstützung aktiviert ist).
- numpy.expm1(x: ndarray | float, /) ndarray | float¶
Berechnet
exp(x) - 1jedes Elements von x mit verbesserter Genauigkeit nahe null.
- numpy.floor(x: ndarray | float, /) ndarray | float¶
Berechnet die Abrundung (größte Ganzzahl, die nicht größer als der Wert ist) jedes Elements von x.
- numpy.log(x: ndarray | float, /) ndarray | float¶
Berechnet den natürlichen Logarithmus jedes Elements von x.
- numpy.log10(x: ndarray | float, /) ndarray | float¶
Berechnet den Logarithmus zur Basis 10 jedes Elements von x.
- numpy.log2(x: ndarray | float, /) ndarray | float¶
Berechnet den Logarithmus zur Basis 2 jedes Elements von x.
- numpy.radians(x: ndarray | float, /) ndarray | float¶
Konvertiert jedes Element von x von Grad in Radiant.
- numpy.sin(x: ndarray | float, /) ndarray | float¶
Berechnet den Sinus jedes Elements von x (in Radiant).
- numpy.sinc(x: ndarray | float, /) ndarray | float¶
Berechnet die normalisierte sinc-Funktion
sin(pi*x) / (pi*x)jedes Elements von x.
- numpy.sinh(x: ndarray | float, /) ndarray | float¶
Berechnet den hyperbolischen Sinus jedes Elements von x.
- numpy.sqrt(x: ndarray | float, /, *, dtype: int = float) ndarray | float¶
Berechnet die Quadratwurzel jedes Elements von x; übergeben Sie
dtype=numpy.complex, um komplexe Ergebnisse für negative reelle Eingaben zu erhalten (wenn komplexe Unterstützung aktiviert ist).
- numpy.tan(x: ndarray | float, /) ndarray | float¶
Berechnet den Tangens jedes Elements von x (in Radiant).