В NumPy при генерации случайных чисел размер выборки задаётся параметром size в функциях из модуля np.random.

Смысл: вы указываете, сколько значений вы хотите сгенерировать и в какой форме.

Примеры:

  1. Скаляр (одно число):
import numpy as np
 
x = np.random.normal(loc=0, scale=1, size=None)
print(x)  # одно случайное число
  1. 1D массив (вектор из n элементов):
samples = np.random.normal(loc=0, scale=1, size=5)
print(samples)
# Например: [ 0.2 -1.1 0.5 0.0 1.3 ]
  1. 2D массив (матрица):
samples_2d = np.random.normal(loc=10, scale=2, size=(3,4))
print(samples_2d)
  • (3,4) → 3 строки, 4 столбца
  • Любая функция из np.random использует size одинаково: (rows, cols, ...)
  1. Многомерные массивы:
samples_3d = np.random.poisson(lam=2, size=(2,3,4))
# 2 «блока», каждый 3×4

Особенности:

  • size=None → возвращается скаляр
  • size=int → 1D массив
  • size=tuple → nD массив
  • Все элементы независимы, их количество = произведение элементов кортежа size

Коротко:
size задаёт форму и количество случайных чисел, которые генерирует функция NumPy, превращая скалярную генерацию в векторизованную.