numpy.random — Генерація випадкових чисел¶
Підмодуль numpy.random надає клас Generator, що видає вибірки із загальних імовірнісних розподілів. В основі алгоритму лежить перестановочно-конгруентний генератор (PCG); деталі — на https://www.pcg-random.org/.
Об’єкт Generator зберігає стан: кожен виклик одного з методів вибірки змінює внутрішній стан, тому послідовні виклики повертають незалежні вибірки. Вихідні масиви завжди мають тип numpy.float.
Класи¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
Створити новий псевдовипадковий генератор чисел.
- Параметри:
seed – початкове значення для ініціалізації стану генератора. Якщо передано ціле число, воно використовується безпосередньо. Якщо передано кортеж цілих чисел, замість одного екземпляра повертається кортеж незалежно ініціалізованих об’єктів
Generator(по одному на елемент). Якщо переданоNone, використовується початкове значення за замовчуванням платформи (якщо воно задано під час збірки); інакше виникаєValueError.- Викликає:
TypeError – якщо seed не є
None, цілим числом або кортежем цілих чисел.ValueError – якщо seed дорівнює
Noneі початкове значення за замовчуванням не налаштовано.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Вибірка із нормального (гаусового) розподілу.
- Параметри:
loc – середнє значення (центр) розподілу.
scale – стандартне відхилення (ширина) розподілу. Має бути невід’ємним.
size – форма вихідного масиву. Якщо передано ціле число, повертається одновимірний масив такої довжини. Якщо передано кортеж, повертається масив такої форми. Якщо передано
None(за замовчуванням), повертається одне Pythonfloat.
- Повертає:
Python
floatабо floatnumpy.ndarrayзапитаної форми.- Викликає:
ValueError – якщо запитана форма перевищує
ULAB_MAX_DIMS.TypeError – якщо size не є ні
None, ні цілим числом, ні кортежем.
Вибірки генеруються за допомогою перетворення Бокса–Мюллера.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
Вибірка з рівномірного розподілу на напівзамкненому інтервалі
[0.0, 1.0).- Параметри:
size – форма вихідного масиву. Якщо передано ціле число, повертається одновимірний масив такої довжини. Якщо передано кортеж, повертається масив такої форми. Якщо передано
None(за замовчуванням) і out також єNone, повертається одне Pythonfloat.out – необов’язковий попередньо виділений щільний float
numpy.ndarrayдля запису вибірок. Якщо задано і size, і out, їхні форми мають збігатися.
- Повертає:
Python
float, новийnumpy.ndarrayабо out (заповнений вибірками) залежно від аргументів.- Викликає:
TypeError – якщо size має непідтримуваний тип, або out не є ndarray, або out не має типу
float.ValueError – якщо запитана форма перевищує
ULAB_MAX_DIMS, якщо size іout.shapeне збігаються, або якщо out не є суцільним.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Вибірка з рівномірного розподілу на напівзамкненому інтервалі
[low, high).- Параметри:
low – нижня межа (включно) розподілу.
high – верхня межа (не включно) розподілу.
size – форма вихідного масиву. Якщо передано кортеж, повертається масив такої форми. Якщо передано
None(за замовчуванням), повертається одне Pythonfloat, вибране з[0.0, 1.0)(межі low/high у скалярному випадку ігноруються).
- Повертає:
Python
floatабо floatnumpy.ndarrayзапитаної форми.- Викликає:
ValueError – якщо запитана форма перевищує
ULAB_MAX_DIMS.TypeError – якщо size не є ні
None, ні кортежем.
За однакових аргументів за замовчуванням
uniform()дає ту саму послідовність, що йrandom().