API reference
np.random
Random number generation. For the same seed, the streams are bit-for-bit identical to NumPy's: defaultRng is PCG64 with SeedSequence, and the legacy functions use MT19937. Without size, samplers return a JS number; with size, they return an NDArray.
| Name | Summary |
|---|---|
np.random.defaultRng | Creates a Generator (PCG64). |
rng.integers | Random integers in [low, high), or [low, high] when endpoint is set. |
rng.normal | Gaussian and uniform samples. |
rng.choice | Random sample from an array, or from arange(a) when a is an integer. |
rng.permutation | permutation returns a shuffled copy (or a permutation of arange(x) for an integer). |
np.random.seed | Legacy global RandomState API (MT19937), matching numpy.random.*. |
np.random.defaultRng
#np.random.defaultRng([seed])
Creates a Generator (PCG64). This is the recommended API. Without a seed it uses OS entropy.
Parameters
[seed]number | bigint | number[] | Generator- Seed, or an existing Generator (returned as-is).
Returns
Generator
Example
const rng = np.random.defaultRng(42);
rng.random(3); // => [0.7739560485559633, 0.4388784397520523, 0.8585979199113825]
typeof np.random.defaultRng(42).random(); // => "number"TypeScript declaration
np.random.defaultRng(seed?: Seed | Generator | null | undefined): Generatorrng.integers
#rng.integers(low, [high], [size], [dtype="int64"], [endpoint=false])
Random integers in [low, high), or [low, high] when endpoint is set. If high is omitted, the range is [0, low).
Parameters
low, [high]number | bigint- Bounds.
[size]number | number[]- Output shape.
[dtype]DTypeLike- Integer dtype.
[endpoint]boolean- Include
high.
Returns
NDArray | number
Example
np.random.defaultRng(42).integers(0, 10, 5); // => [0, 7, 6, 4, 4]TypeScript declaration
rng.integers(low: number | bigint | { low: number | bigint; high?: number | bigint | null | undefined; size?: Size | undefined; dtype?: DTypeLike | undefined; endpoint?: boolean | undefined; }, high?: number | bigint | null | undefined, size?: Size | undefined, dt?: DTypeLike | undefined, endpoint?: boolean | undefined): Outrng.normal
#rng.normal([loc=0], [scale=1], [size]) · rng.standardNormal([size]) · rng.uniform([low=0], [high=1], [size])
Gaussian and uniform samples. Every sampler also accepts an options object, e.g. rng.normal({ loc, scale, size }).
Parameters
[loc], [scale]number- Mean and standard deviation.
[low], [high]number- Uniform bounds,
[low, high). [size]number | number[]- Output shape.
Returns
NDArray | number
Example
np.random.defaultRng(42).normal(0, 1, 2); // => [0.30471707975443135, -1.0399841062404955]
np.random.defaultRng(42).uniform(5, 10, 2); // => [8.869780242779816, 7.194392198760261]
np.random.defaultRng(1).standardNormal([2, 3]).shape; // => [2, 3]TypeScript declaration
rng.normal(loc?: number | { loc?: number | undefined; scale?: number | undefined; size?: Size | undefined; } | undefined, scale?: number | undefined, size?: Size | undefined): Out
rng.standardNormal(size?: Size | { size?: Size | undefined; dtype?: DTypeLike | undefined; } | undefined, dt?: DTypeLike | undefined): Out
rng.uniform(low?: number | { low?: number | undefined; high?: number | undefined; size?: Size | undefined; } | undefined, high?: number | undefined, size?: Size | undefined): Outrng.choice
#rng.choice(a, [size], [replace=true])
Random sample from an array, or from arange(a) when a is an integer. The p weights argument is not supported yet and throws NotImplementedError.
Parameters
anumber | ArrayLike- Population.
[size]number | number[]- Output shape.
[replace]boolean- Sample with replacement.
Returns
NDArray | number
Example
np.random.defaultRng(1).choice([10, 20, 30], 2, false); // => [10, 20]TypeScript declaration
rng.choice(a: Population, size?: Size | { size?: Size | undefined; replace?: boolean | undefined; p?: unknown; axis?: number | undefined; shuffle?: boolean | undefined; } | null | undefined, replace?: boolean | undefined, p?: unknown, axis?: number | undefined, shuffle?: boolean | undefined): Outrng.permutation
#rng.permutation(x, [axis=0]) · rng.shuffle(x, [axis=0])
permutation returns a shuffled copy (or a permutation of arange(x) for an integer). shuffle permutes a writeable NDArray in place.
Parameters
xnumber | NDArray | NestedArray- Input.
[axis]number- Axis to permute.
Returns
NDArray | void
Example
np.random.defaultRng(0).permutation(5); // => [2, 4, 3, 0, 1]TypeScript declaration
rng.permutation(x: NDArray | NestedArray, axis?: number | undefined): NDArray
rng.shuffle(x: NDArray, axis?: number | undefined): voidnp.random.seed
#np.random.seed(s) · rand(...dims) · randn(...dims) · randint(low, [high], [size]) · random([size])
Legacy global RandomState API (MT19937), matching numpy.random.*. It also includes random, randomSample, normal, uniform, standardNormal, choice, shuffle and permutation. new np.random.RandomState(seed) gives an independent instance.
Parameters
snumber | number[]- Seed for the global state.
Returns
void / NDArray | number
Example
np.random.seed(0);
np.random.rand(2); // => [0.5488135039273248, 0.7151893663724195]
np.random.seed(0);
np.random.randint(0, 10, 3); // => [5, 0, 3]TypeScript declaration
np.random.seed(seed?: Seed | null | undefined): void