Cyforanumera
npm

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.

NameSummary
np.random.defaultRngCreates a Generator (PCG64).
rng.integersRandom integers in [low, high), or [low, high] when endpoint is set.
rng.normalGaussian and uniform samples.
rng.choiceRandom sample from an array, or from arange(a) when a is an integer.
rng.permutationpermutation returns a shuffled copy (or a permutation of arange(x) for an integer).
np.random.seedLegacy 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

TypeScript
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): Generator

rng.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

TypeScript
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): Out

rng.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

TypeScript
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): Out

rng.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

TypeScript
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): Out

rng.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

TypeScript
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): void

np.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

TypeScript
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