numpy — opérations sur tableaux compatibles numpy#

Le sous-module numpy de ulab fournit une API compatible numpy construite autour du type de tableau n-dimensionnel ndarray. Il implémente un sous-ensemble soigneusement choisi de numpy de CPython : construction de tableaux, opérations mathématiques élément par élément, réductions et statistiques, algèbre linéaire, FFT, génération de nombres aléatoires, ajustement polynomial et entrées/sorties de base.

Le sous-module est conventionnellement importé sous le nom np

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)))

Chaque argument dtype est l’une des constantes entières exposées au niveau du module : numpy.bool, numpy.uint8, numpy.int8, numpy.uint16, numpy.int16 et numpy.float (valeur par défaut). Le type de résultat ndarray fait référence à numpy.ndarray.

Sous-modules#

classe ndarray — le tableau n-dimensionnel#

Le ndarray est le conteneur n-dimensionnel et conscient du dtype au cœur de numpy / ulab. Les données sont stockées dans un bloc contigu dont l’interprétation est décrite par un petit en-tête (dtype, shape, strides, ndim, itemsize). De nombreuses opérations – reshape, transpose, le découpage – ajustent uniquement cet en-tête et sont donc très peu coûteuses ; les méthodes qui allouent un nouveau stockage (copy, flatten, la plupart des opérations arithmétiques) renvoient un nouveau tableau dense.

Le même type est accessible sous les noms ulab.ndarray, numpy.ndarray et (au sein de cette page) simplement ndarray.

class numpy.ndarray(values: ndarray | bytes | list | tuple, *, dtype: int = numpy.float)#

Crée un nouveau ndarray.

Paramètres:
  • values – Données sources. Soit un autre ndarray (qui est copié en profondeur, avec conversion de type si dtype diffère), soit n’importe quel itérable MicroPython. Les itérables imbriqués produisent des tableaux multidimensionnels ; les itérables internes doivent tous avoir la même longueur, sinon une exception ValueError est levée.

  • dtype – Type d’élément pour le nouveau tableau. L’un des entiers de code de type exposés par numpy (numpy.bool, numpy.uint8, numpy.int8, numpy.uint16, numpy.int16 et numpy.float), ou une instance dtype. Par défaut : numpy.float.

La fonction de fabrique numpy.array est la manière conventionnelle de créer un ndarray ; elle transmet à ce constructeur.

byteswap(*, inplace: bool = False) ndarray#

Échange l’ordre des octets de chaque élément. Pour les tableaux uint16, int16 et float, cela inverse l’ordre des octets de chaque élément, ce qui est utile lors de la consommation de données provenant de périphériques dont l’ordre des octets ne correspond pas à celui du microcontrôleur. Pour les types à un octet (bool, uint8, int8), c’est un no-op qui renvoie une vue ou une copie.

Si inplace vaut False (la valeur par défaut), un nouveau ndarray est renvoyé et l’original reste intact. Si inplace vaut True, les octets de self sont inversés sur place et une vue de self est renvoyée.

copy() ndarray#

Renvoie une nouvelle copie dense et en profondeur du tableau. La copie possède ses propres données ; les modifications qui lui sont apportées n’affectent pas l’original.

flatten(*, order: str = 'C') ndarray#

Renvoie une nouvelle copie unidimensionnelle du tableau.

Paramètres:

order'C' (la valeur par défaut) parcourt les données dans l’ordre C (le dernier axe varie le plus vite) ; 'F' les parcourt dans l’ordre Fortran (le premier axe varie le plus vite).

reshape(shape: int | tuple[int, ...]) ndarray#

Renvoie une vue du tableau avec une nouvelle forme. Le nombre total d’éléments doit rester inchangé, sinon une exception ValueError est levée. Disponible uniquement lorsque ULAB_MAX_DIMS > 1. Équivaut à une affectation à shape.

sort(*, axis: int | None = -1) None#

Trie le tableau sur place.

Paramètres:

axis – Axe selon lequel trier. -1 (la valeur par défaut) trie selon le dernier axe ; None aplatit d’abord le tableau, puis le trie.

tobytes() bytearray#

Renvoie un bytearray qui aliasse le tampon de données sous-jacent du tableau. Les écritures via le bytearray renvoyé modifient le tableau sur place. Lève une exception ValueError si le tableau n’est pas dense (par exemple une vue découpée).

tolist() list#

Renvoie le contenu du tableau sous la forme d’une list Python (éventuellement imbriquée). La profondeur d’imbrication est égale à ndim.

transpose() ndarray#

Renvoie la transposée du tableau (axes inversés). Pour les tableaux unidimensionnels, ceci renvoie self. Disponible uniquement lorsque ULAB_MAX_DIMS > 1. L’attribut T est un raccourci pour cette méthode.

dtype: dtype | int#

Le type de données des éléments du tableau. Renvoie une instance de dtype lorsque le micrologiciel est compilé avec ULAB_HAS_DTYPE_OBJECT activé, sinon le code de type sous-jacent à un seul caractère sous forme d’entier.

flat: flatiter#

Un itérateur plat qui produit chaque élément du tableau dans l’ordre C. Contrairement à flatten(), l’itération sur flat n’alloue pas de nouveau tableau.

itemsize: int#

Taille en octets d’un seul élément du tableau, dérivée de dtype.

ndim: int#

Nombre de dimensions du tableau (longueur de shape).

shape: tuple[int, ...]#

Longueurs du tableau selon chaque axe. L’affectation d’un tuple à shape redimensionne le tableau sur place (équivaut à reshape()).

size: int#

Nombre total d’éléments dans le tableau (le produit de shape).

strides: tuple[int, ...]#

Nombre d’octets à franchir en mémoire selon chaque axe pour atteindre l’élément suivant le long de cet axe.

T: ndarray#

La transposée du tableau ; équivaut à transpose().

Opérateurs pris en charge#

Les instances de ndarray prennent en charge les opérateurs suivants. Les opérateurs binaires diffusent leurs opérandes selon les règles de diffusion standard de numpy et respectent les règles de promotion de type de numpy (p. ex. uint8 + int8 => int16, uint16 + int16 => float).

Arithmétique (binaire) : +, -, *, /, //, %, **. Les opérandes réfléchis (à droite) et les variantes sur place +=, -=, *=, /=, %=, **= sont également pris en charge. Les formes ndarray-avec-ndarray et ndarray-avec-scalaire sont acceptées.

Comparaison : ==, !=, <, <=, >, >=. Chacun renvoie un ndarray booléen de la forme diffusée.

Bit à bit (tableaux d’entiers uniquement) : &, |, ^. L’application de ces opérations à un tableau float lève TypeError.

Unaire : + (renvoie une copie), - (négation ; sur les dtypes non signés, les valeurs bouclent modulo \(2^N\)), abs() (valeur absolue élément par élément ; sur les dtypes non signés renvoie une copie sans calcul), ~ (inversion bit à bit, dtypes entiers uniquement), len() (renvoie la longueur du premier axe).

Indexation et découpage : a[i], a[i, j, ...], a[start:stop:step], l’indexation par masque booléen (a[mask]) et l’indexation par tableau d’entiers (indexation avancée) sont toutes prises en charge en lecture comme en écriture.

Itération : L’itération sur un ndarray produit des sous-tableaux le long du premier axe (un élément à la fois pour les tableaux 1-D). Utilisez flat pour itérer sur chaque élément scalaire indépendamment de la dimensionnalité.

L’opérateur de multiplication matricielle @ n’est pas implémenté ; utilisez plutôt numpy.dot (np.dot(a, b)).

Les opérateurs de décalage (<<, >>) ne sont pas implémentés au niveau des opérateurs. Utilisez numpy.left_shift et numpy.right_shift pour les décalages d’entiers élément par élément.

Construction de tableaux#

numpy.array(values: ndarray | list | tuple, *, dtype: int = float) ndarray#

Construit un nouveau ndarray à partir d’un itérable imbriqué de nombres. Constructeur alternatif équivalent pour numpy.ndarray.

numpy.arange(start: int | float, stop: int | float | None = None, step: int | float = 1, *, dtype: int | None = None) ndarray#

Renvoie des valeurs régulièrement espacées sur l’intervalle semi-ouvert [start, stop). Si un seul argument positionnel est fourni, il est traité comme stop avec start = 0. Si dtype est omis, il est déduit des entrées (entier si start, stop et step sont tous des entiers et dans la plage).

numpy.asarray(a: ndarray | list | tuple, *, dtype: int | None = None) ndarray#

Si a est déjà un ndarray dont le dtype correspond à dtype (ou si dtype vaut None), renvoie a inchangé ; sinon, crée un nouveau tableau (avec la conversion de dtype demandée si elle est fournie). Les itérables sont convertis comme dans numpy.array.

numpy.concatenate(arrays: tuple, *, axis: int = 0) ndarray#

Joint une séquence de ndarray selon un axis existant. Tous les tableaux d’entrée doivent partager les mêmes dtype, ndim et forme sur tous les axes autres que axis.

numpy.diag(a: ndarray, *, k: int = 0) ndarray#

Pour un a en 2-D, renvoie un tableau 1-D contenant la k-ième diagonale. Pour un a en 1-D, renvoie un tableau carré 2-D avec a placé sur la k-ième diagonale. k peut être positif (au-dessus de la diagonale principale) ou négatif (en dessous).

numpy.empty(shape: int | tuple[int, ...], *, dtype: int = float) ndarray#

Alias de zeros ; renvoie un tableau rempli de zéros de forme shape et de dtype dtype. (ulab ne laisse pas le tampon non initialisé.)

numpy.eye(N: int, M: int | None = None, k: int = 0, *, dtype: int = float) ndarray#

Renvoie un tableau 2-D N x M (carré N x N si M vaut None) avec des uns sur la k-ième diagonale et des zéros ailleurs.

numpy.frombuffer(buffer: bytes, *, dtype: int = float, count: int = -1, offset: int = 0) ndarray#

Interprète un objet du protocole tampon comme un ndarray 1-D de dtype dtype. count est le nombre d’éléments à lire (-1 lit tous les éléments disponibles) ; offset saute ce nombre d’octets au début du tampon.

numpy.full(shape: int | tuple[int, ...], fill_value: int | float | bool, *, dtype: int = float) ndarray#

Renvoie un nouveau tableau de forme shape et de dtype dtype dont chaque élément vaut fill_value.

numpy.linspace(start: float, stop: float, num: int = 50, *, endpoint: bool = True, retstep: bool = False, dtype: int = float) ndarray | tuple[ndarray, float]#

Renvoie num échantillons régulièrement espacés sur l’intervalle fermé [start, stop] (ou semi-ouvert si endpoint est False). Lorsque retstep est True, renvoie un tuple (samples, step).

numpy.logspace(start: float, stop: float, num: int = 50, *, base: float = 10.0, endpoint: bool = True, dtype: int = float) ndarray#

Renvoie num échantillons régulièrement espacés sur une échelle logarithmique : le résultat commence à base ** start et se termine à base ** stop.

numpy.meshgrid(*xi: ndarray, indexing: str = 'xy') tuple[ndarray, ...]#

Renvoie un tuple de matrices de coordonnées à partir d’une séquence de tableaux de coordonnées unidimensionnels. Avec indexing 'xy' (la valeur par défaut), les deux premières entrées sont traitées comme des coordonnées cartésiennes et leurs axes de sortie sont échangés ; avec 'ij', l’indexation de type matriciel est utilisée. L’implémentation correspond à l’équivalent NumPy avec copy=True et sparse=False.

numpy.ones(shape: int | tuple[int, ...], *, dtype: int = float) ndarray#

Renvoie un nouveau tableau de forme shape et de dtype dtype rempli de uns.

numpy.zeros(shape: int | tuple[int, ...], *, dtype: int = float) ndarray#

Renvoie un nouveau tableau de forme shape et de dtype dtype rempli de zéros.

Inspection / affichage#

numpy.get_printoptions() dict#

Renvoie les options d’affichage des tableaux actuelles sous forme de dict avec les clés threshold et edgeitems.

numpy.set_printoptions(*, threshold: int | None = None, edgeitems: int | None = None) None#

Définit les options d’affichage des tableaux. threshold est le nombre maximal d’éléments du tableau affichés en entier ; edgeitems est le nombre d’éléments affichés à chaque extrémité d’un axe lorsque le tableau est résumé.

numpy.ndinfo(array: ndarray) None#

Affiche des informations de diagnostic (forme, strides, dtype, itemsize, …) sur array.

numpy.size(a: ndarray, *, axis: int | None = None) int#

Renvoie le nombre d’éléments de a le long de axis ; si axis vaut None, renvoie le nombre total d’éléments (le produit de ndarray.shape).

Comparaison#

numpy.clip(a: ndarray | int | float, a_min: ndarray | int | float, a_max: ndarray | int | float) ndarray | int | float#

Borne les valeurs de a de sorte que a_min <= result <= a_max. Équivaut à maximum(a_min, minimum(a, a_max)) ; la diffusion suit les mêmes règles que minimum.

numpy.equal(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | bool#

x1 == x2 élément par élément ; renvoie un ndarray booléen (ou un scalaire bool si les deux entrées sont des scalaires). Fourni pour la portabilité – l’opérateur == sur les tableaux donne le même résultat.

numpy.not_equal(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | bool#

x1 != x2 élément par élément ; le pendant booléen de equal.

numpy.isfinite(x: ndarray | int | float) ndarray | bool#

Renvoie un tableau booléen (ou un scalaire) qui vaut True là où l’entrée est finie. Les entrées entières sont toujours finies.

numpy.isinf(x: ndarray | int | float) ndarray | bool#

Renvoie un tableau booléen (ou un scalaire) qui vaut True là où l’entrée est infinie. Les entrées entières ne sont jamais infinies.

numpy.maximum(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | int | float#

Maximum élément par élément de deux tableaux / scalaires. Les arguments sont diffusés ensemble ; si les dtypes diffèrent, la sortie est promue.

numpy.minimum(x1: ndarray | int | float, x2: ndarray | int | float) ndarray | int | float#

Minimum élément par élément de deux tableaux / scalaires ; le pendant de maximum.

numpy.nonzero(a: ndarray) tuple[ndarray, ...]#

Renvoie un tuple de ndarray, un par dimension de a, contenant les indices des éléments non nuls de a.

numpy.where(condition: ndarray | int | float, x: ndarray | int | float, y: ndarray | int | float) ndarray#

Renvoie un ndarray dont les éléments proviennent de x là où condition est vraie, et de y sinon. Les trois entrées sont diffusées ensemble ; le dtype de sortie est la promotion de x et y.

Réductions numériques#

numpy.all(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | bool#

Teste si tous les éléments le long de axis s’évaluent à True. Avec axis=None (la valeur par défaut), le tableau aplati est testé et un seul bool est renvoyé.

numpy.any(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | bool#

Teste si au moins un élément le long de axis s’évalue à True. Avec axis=None, le tableau aplati est testé.

numpy.argmax(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | int#

Renvoie l’indice de l’élément maximal le long de axis. Avec axis=None, le tableau est aplati et un seul entier est renvoyé.

numpy.argmin(a: ndarray | list | tuple, *, axis: int | None = None) ndarray | int#

Renvoie l’indice de l’élément minimal le long de axis. Avec axis=None, le tableau est aplati et un seul entier est renvoyé.

numpy.argsort(a: ndarray, *, axis: int = -1) ndarray#

Renvoie un ndarray d’indices entiers non signés dont les entrées trient a dans l’ordre croissant le long de axis. Le dtype de sortie est uint16, donc aucun axe ne peut dépasser 65535 éléments. axis=None n’est pas pris en charge.

numpy.cross(a: ndarray, b: ndarray) ndarray#

Renvoie le produit vectoriel de deux tableaux 1-D de longueur 3.

numpy.diff(a: ndarray, *, n: int = 1, axis: int = -1) ndarray#

Renvoie la n-ième différence finie discrète avant de a le long de axis. n doit être dans 0..9 (le gabarit de différentiation est stocké dans un int8) ; la longueur de axis diminue de n. Les mots-clés numpy prepend et append ne sont pas implémentés.

numpy.flip(a: ndarray, *, axis: int | None = None) ndarray#

Renvoie un nouveau tableau dont l’ordre des éléments est inversé le long de axis ; avec axis=None, le tableau est inversé selon chaque axe.

numpy.max(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float#

Renvoie l’élément maximal le long de axis. Avec axis=None (la valeur par défaut), le tableau aplati est réduit à un scalaire. Le mot-clé numpy out n’est pas implémenté.

numpy.min(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float#

Renvoie l’élément minimal le long de axis ; le pendant de max.

numpy.mean(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | float#

Renvoie la moyenne arithmétique le long de axis. Avec axis=None (la valeur par défaut), la moyenne du tableau aplati est renvoyée sous forme de float.

numpy.median(a: ndarray, *, axis: int | None = None) ndarray | float#

Renvoie la médiane le long de axis. Avec axis=None, le tableau est d’abord aplati. Le dtype de sortie est toujours float.

numpy.roll(a: ndarray, shift: int, *, axis: int | None = None) ndarray#

Renvoie a avec ses éléments décalés (cycliquement) de shift positions. Avec axis=None (la valeur par défaut), le tableau est d’abord aplati. Les décalages négatifs effectuent la rotation dans le sens opposé.

numpy.sort(a: ndarray, *, axis: int = -1) ndarray#

Renvoie une copie triée de a le long de axis à l’aide du tri par tas. Avec axis=None, le tableau est d’abord aplati. Les mots-clés numpy kind et order ne sont pas implémentés.

numpy.std(a: ndarray | list | tuple, *, axis: int | None = None, ddof: int = 0, keepdims: bool = False) ndarray | float#

Renvoie l’écart-type le long de axis. ddof est le nombre de degrés de liberté delta – le diviseur utilisé est N - ddof.

numpy.sum(a: ndarray | list | tuple, *, axis: int | None = None, keepdims: bool = False) ndarray | int | float#

Renvoie la somme le long de axis. Avec axis=None, le total du tableau aplati est renvoyé sous forme de scalaire.

Statistiques#

numpy.bincount(x: ndarray, *, weights: ndarray | None = None, minlength: int | None = None) ndarray#

Compte le nombre d’occurrences de chaque valeur dans le tableau d’entiers unidimensionnel et non négatif x. Le dtype de x doit être uint8 ou uint16. Si weights est fourni, chaque entrée de x contribue son poids correspondant plutôt que 1 et la sortie est de dtype float ; sinon la sortie est de dtype uint16. Si minlength est fourni, le tableau de sortie comporte au moins ce nombre d’éléments (les entrées supplémentaires sont nulles).

numpy.trace(m: ndarray) int | float#

Renvoie la somme des éléments diagonaux de la matrice carrée m. Le type de retour suit le dtype de m (les tableaux entiers produisent un int, les tableaux float un float).

Transformation#

numpy.compress(condition: ndarray | list | tuple, a: ndarray, *, axis: int | None = None) ndarray#

Renvoie des tranches de a sélectionnées le long de axis par la condition booléenne. Avec axis=None, le tableau aplati est utilisé.

numpy.delete(a: ndarray, indices: int | ndarray | list | tuple | range, *, axis: int | None = None) ndarray#

Renvoie une copie de a dont les entrées aux indices indices sont supprimées le long de axis. Avec axis=None, le tableau est d’abord aplati. Les indices négatifs comptent à partir de la fin de axis ; indices est trié en interne avant la suppression.

numpy.dot(m1: ndarray, m2: ndarray) ndarray | float#

Renvoie le produit scalaire de deux tableaux. Pour deux tableaux 1-D, il s’agit du produit interne (un scalaire float). Pour les tableaux 2-D, il s’agit de la multiplication matricielle ; les dimensions internes doivent correspondre. Le résultat est toujours de dtype float.

Approximation#

numpy.interp(x: ndarray, xp: ndarray, fp: ndarray, *, left: float | None = None, right: float | None = None) ndarray#

Interpolation linéaire unidimensionnelle. xp doit être un tableau 1-D de valeurs indépendantes strictement croissant ; fp contient les valeurs dépendantes correspondantes ; x sont les points auxquels l’interpolant est évalué. left et right remplacent respectivement la valeur renvoyée pour x < xp[0] et x > xp[-1] (valeurs par défaut : fp[0] et fp[-1]).

numpy.trapz(y: ndarray, x: ndarray | None = None, dx: float = 1.0) float#

Intègre y à l’aide de la règle composite des trapèzes. Si x est fourni, il indique les positions des échantillons correspondant à y ; sinon, l’espacement dx est utilisé. y (et x) doivent être 1-D.

Sélection#

numpy.take(a: ndarray, indices: ndarray | list | tuple, *, axis: int | None = None, out: ndarray | None = None, mode: str | None = None) ndarray#

Prélève des éléments de a aux indices indices fournis le long de axis. Avec axis=None, le tableau aplati est utilisé. mode sélectionne le comportement hors limites : "raise" (par défaut – lève une exception ValueError), "wrap" (modulo la longueur de l’axe) ou "clip" (borne à la plage valide ; les indices négatifs ne sont pas autorisés). Si out est fourni, le résultat y est écrit.

Opérations bit à bit#

numpy.bitwise_and(x1: ndarray, x2: ndarray) ndarray#

ET bit à bit élément par élément de deux tableaux entiers ; la diffusion est prise en charge. Un dtype non entier lève une exception.

numpy.bitwise_or(x1: ndarray, x2: ndarray) ndarray#

OU bit à bit élément par élément de deux tableaux entiers.

numpy.bitwise_xor(x1: ndarray, x2: ndarray) ndarray#

OU exclusif (XOR) bit à bit élément par élément de deux tableaux entiers.

numpy.left_shift(x1: ndarray, x2: ndarray) ndarray#

Décalage bit à bit élément par élément de x1 vers la gauche de x2 bits ; les deux tableaux doivent avoir un dtype entier.

numpy.right_shift(x1: ndarray, x2: ndarray) ndarray#

Décalage bit à bit élément par élément de x1 vers la droite de x2 bits ; les deux tableaux doivent avoir un dtype entier.

Filtrage#

numpy.convolve(a: ndarray, v: ndarray) ndarray#

Renvoie la convolution linéaire discrète de deux tableaux 1-D. Seul le mode "full" est pris en charge ; le mot-clé numpy mode n’est pas accepté (les autres modes peuvent être obtenus en découpant le résultat complet). La longueur de sortie est len(a) + len(v) - 1.

Polynôme#

numpy.polyfit(x: ndarray | list | tuple, y: ndarray | list | tuple, deg: int) ndarray#
numpy.polyfit(y: ndarray | list | tuple, deg: int) ndarray

Ajuste un polynôme de degré deg aux points de données (x, y) par moindres carrés et renvoie les coefficients du polynôme (degré le plus élevé en premier). Si x est omis, range(len(y)) est utilisé. Lève une exception ValueError si les longueurs de x et y diffèrent.

numpy.polyval(p: ndarray | list | tuple, x: ndarray | list | tuple | int | float) ndarray | float#

Évalue le polynôme dont les coefficients sont p (degré le plus élevé en premier) en x. Si x est un scalaire, un float est renvoyé, sinon un ndarray.

Entrées/sorties#

numpy.load(file: str) ndarray#

Lit un tableau préalablement écrit avec save depuis file (le format .npy indépendant de la plateforme de numpy). Le boutisme est converti à la volée si l’ordre des octets du fichier diffère de celui de l’hôte.

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#

Lit des données numériques depuis un fichier texte file et les renvoie sous forme de ndarray. delimiter vaut par défaut l’espace blanc ; comments est le marqueur de commentaire de ligne ; max_rows limite le nombre de lignes de données lues (-1 pour toutes) ; usecols sélectionne les colonnes par indice ; skiprows saute ce nombre de lignes initiales. Si dtype n’est pas float, les valeurs sont converties par arrondi.

numpy.save(file: str, a: ndarray) None#

Enregistre a dans file au format .npy indépendant de la plateforme de numpy.

numpy.savetxt(file: str, a: ndarray, *, delimiter: str = ' ', header: str | None = None, footer: str | None = None, comments: str = '# ') None#

Écrit a dans file sous forme de texte. delimiter sépare les valeurs au sein d’une ligne ; header et footer, s’ils sont fournis, sont écrits avant/après les données, chacun préfixé par comments. Les valeurs sont écrites en virgule flottante.

Fonctions universelles#

Fonctions mathématiques élément par élément. Chacune accepte un scalaire ou un ndarray et renvoie un résultat de forme correspondante (un scalaire float pour une entrée scalaire, un ndarray pour une entrée tableau). Lorsqu’elle est appelée avec un ndarray, le résultat est un nouveau ndarray à virgule flottante ; un mot-clé optionnel out peut être passé pour écrire le résultat dans un ndarray float préalloué de même taille.

numpy.acos(x: ndarray | float, /) ndarray | float#

Calcule le cosinus inverse (arc cosinus) de chaque élément de x ; le résultat est en radians.

numpy.acosh(x: ndarray | float, /) ndarray | float#

Calcule le cosinus hyperbolique inverse de chaque élément de x.

numpy.arctan2(y: ndarray | float, x: ndarray | float, /) ndarray | float#

Calcule l’arc tangente à deux arguments atan2(y, x) élément par élément ; prend en charge la diffusion entre les deux entrées.

numpy.around(x: ndarray, /, decimals: int = 0) ndarray#

Arrondit les éléments du ndarray x au nombre de décimales decimals indiqué ; le premier argument doit être un ndarray.

numpy.asin(x: ndarray | float, /) ndarray | float#

Calcule le sinus inverse (arc sinus) de chaque élément de x ; le résultat est en radians.

numpy.asinh(x: ndarray | float, /) ndarray | float#

Calcule le sinus hyperbolique inverse de chaque élément de x.

numpy.atan(x: ndarray | float, /) ndarray | float#

Calcule la tangente inverse (arc tangente) de chaque élément de x ; le résultat est en radians.

numpy.atanh(x: ndarray | float, /) ndarray | float#

Calcule la tangente hyperbolique inverse de chaque élément de x.

numpy.ceil(x: ndarray | float, /) ndarray | float#

Calcule le plafond (le plus petit entier non inférieur à la valeur) de chaque élément de x.

numpy.cos(x: ndarray | float, /) ndarray | float#

Calcule le cosinus de chaque élément de x (en radians).

numpy.cosh(x: ndarray | float, /) ndarray | float#

Calcule le cosinus hyperbolique de chaque élément de x.

numpy.degrees(x: ndarray | float, /) ndarray | float#

Convertit chaque élément de x des radians vers les degrés.

numpy.exp(x: ndarray | float, /) ndarray | float#

Calcule l’exponentielle e**x de chaque élément de x.

numpy.expm1(x: ndarray | float, /) ndarray | float#

Calcule exp(x) - 1 de chaque élément de x avec une précision améliorée près de zéro.

numpy.floor(x: ndarray | float, /) ndarray | float#

Calcule le plancher (le plus grand entier non supérieur à la valeur) de chaque élément de x.

numpy.log(x: ndarray | float, /) ndarray | float#

Calcule le logarithme naturel de chaque élément de x.

numpy.log10(x: ndarray | float, /) ndarray | float#

Calcule le logarithme en base 10 de chaque élément de x.

numpy.log2(x: ndarray | float, /) ndarray | float#

Calcule le logarithme en base 2 de chaque élément de x.

numpy.radians(x: ndarray | float, /) ndarray | float#

Convertit chaque élément de x des degrés vers les radians.

numpy.sin(x: ndarray | float, /) ndarray | float#

Calcule le sinus de chaque élément de x (en radians).

numpy.sinc(x: ndarray | float, /) ndarray | float#

Calcule la fonction sinc normalisée sin(pi*x) / (pi*x) de chaque élément de x.

numpy.sinh(x: ndarray | float, /) ndarray | float#

Calcule le sinus hyperbolique de chaque élément de x.

numpy.sqrt(x: ndarray | float, /, *, dtype: int = float) ndarray | float#

Calcule la racine carrée de chaque élément de x.

numpy.tan(x: ndarray | float, /) ndarray | float#

Calcule la tangente de chaque élément de x (en radians).

numpy.tanh(x: ndarray | float, /) ndarray | float#

Calcule la tangente hyperbolique de chaque élément de x.

numpy.vectorize(f: Callable[[float], float], /, *, otypes: int | None = None) Callable#

Renvoie un objet appelable qui applique la fonction Python f élément par élément à un scalaire, un itérable ou un ndarray ; otypes sélectionne le dtype de sortie (float par défaut).

Constantes#

numpy.e: float#

Le nombre d’Euler \(e \approx 2.71828\).

numpy.pi: float#

\(\pi \approx 3.14159\).

numpy.inf: float#

Infini positif en virgule flottante IEEE-754.

numpy.nan: float#

Le « pas un nombre » (NaN) en virgule flottante IEEE-754.

numpy.bool: int#

Code de dtype pour les tableaux booléens (stockés sous forme uint8).

numpy.uint8: int#

Code de dtype pour les tableaux d’entiers 8 bits non signés.

numpy.int8: int#

Code de dtype pour les tableaux d’entiers 8 bits signés.

numpy.uint16: int#

Code de dtype pour les tableaux d’entiers 16 bits non signés.

numpy.int16: int#

Code de dtype pour les tableaux d’entiers 16 bits signés.

numpy.float: int#

Code de dtype pour les tableaux en virgule flottante 32 bits.