numpy.random — Génération de nombres aléatoires¶
Le sous-module numpy.random fournit une classe Generator qui tire des échantillons à partir de distributions de probabilité courantes. L’algorithme sous-jacent est un générateur congruentiel permuté (PCG) ; voir https://www.pcg-random.org/ pour plus de détails.
Un objet Generator est un objet à état : chaque appel à l’une de ses méthodes d’échantillonnage fait avancer l’état interne, de sorte que des appels consécutifs renvoient des échantillons indépendants. Les tableaux de sortie sont toujours de type numpy.float.
Classes¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
Construit un nouveau générateur de nombres pseudo-aléatoires.
- Paramètres:
seed – la graine utilisée pour initialiser l’état du générateur. Si un entier est fourni, il est utilisé directement. Si un tuple d’entiers est fourni, un tuple d’objets
Generatorinitialisés indépendamment (un par élément) est renvoyé à la place d’une instance unique. SiNoneest fourni, une graine par défaut propre à la plateforme est utilisée (lorsqu’elle est configurée à la compilation) ; sinon uneValueErrorest levée.- Lève:
TypeError – si seed n’est ni
None, ni un entier, ni un tuple d’entiers.ValueError – si seed vaut
Noneet qu’aucune graine par défaut n’est configurée.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Tire des échantillons d’une distribution normale (gaussienne).
- Paramètres:
loc – la moyenne (centre) de la distribution.
scale – l’écart-type (largeur) de la distribution. Doit être non négatif.
size – la forme de la sortie. Si c’est un entier, un tableau unidimensionnel de cette longueur est renvoyé. Si c’est un tuple, un tableau de cette forme est renvoyé. Si c’est
None(la valeur par défaut), un uniquefloatPython est renvoyé.
- Renvoie:
soit un
floatPython, soit unnumpy.ndarrayde flottants de la forme demandée.- Lève:
ValueError – si la forme demandée dépasse
ULAB_MAX_DIMS.TypeError – si size n’est ni
None, ni un entier, ni un tuple.
Les échantillons sont générés à l’aide de la transformation de Box-Muller.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
Tire des échantillons de la distribution uniforme sur l’intervalle semi-ouvert
[0.0, 1.0).- Paramètres:
size – la forme de la sortie. Si c’est un entier, un tableau unidimensionnel de cette longueur est renvoyé. Si c’est un tuple, un tableau de cette forme est renvoyé. Si c’est
None(la valeur par défaut) et que out vaut égalementNone, un uniquefloatPython est renvoyé.out – un
numpy.ndarrayde flottants dense et pré-alloué, facultatif, destiné à recevoir les échantillons. Si à la fois size et out sont fournis, leurs formes doivent concorder.
- Renvoie:
un
floatPython, un nouveaunumpy.ndarray, ou out (rempli d’échantillons) selon les arguments.- Lève:
TypeError – si size est d’un type non pris en charge, ou si out n’est pas un ndarray, ou si out n’est pas de type
float.ValueError – si la forme demandée dépasse
ULAB_MAX_DIMS, si size etout.shapene concordent pas, ou si out n’est pas contigu.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Tire des échantillons de la distribution uniforme sur l’intervalle semi-ouvert
[low, high).- Paramètres:
low – la borne inférieure (incluse) de la distribution.
high – la borne supérieure (exclue) de la distribution.
size – la forme de la sortie. Si c’est un tuple, un tableau de cette forme est renvoyé. Si c’est
None(la valeur par défaut), un uniquefloatPython tiré dans[0.0, 1.0)est renvoyé (les bornes low/high sont ignorées dans le cas scalaire).
- Renvoie:
soit un
floatPython, soit unnumpy.ndarrayde flottants de la forme demandée.- Lève:
ValueError – si la forme demandée dépasse
ULAB_MAX_DIMS.TypeError – si size n’est ni
Noneni un tuple.
Avec des arguments par défaut identiques,
uniform()produit la même séquence querandom().