bundles / numpy 2.5.0.dev0+git20251130.2de293a / numpy / random / default_rng
cython_function_or_method
numpy.random:default_rng
Signature
def default_rng(seed = None)Summary
Construct a new Generator with the default BitGenerator (PCG64).
Parameters
seed: {None, int, array_like[ints], SeedSequence, BitGenerator, Generator, RandomState}, optionalA seed to initialize the BitGenerator. If None, then fresh, unpredictable entropy will be pulled from the OS. If an
intorarray_like[ints]is passed, then all values must be non-negative and will be passed to SeedSequence to derive the initial BitGenerator state. One may also pass in a SeedSequence instance. Additionally, when passed a BitGenerator, it will be wrapped by Generator. If passed a Generator, it will be returned unaltered. When passed a legacy RandomState instance it will be coerced to a Generator.
Returns
: GeneratorThe initialized generator object.
Notes
If seed is not a BitGenerator or a Generator, a new BitGenerator is instantiated. This function does not manage a default global instance.
See seeding_and_entropy for more information about seeding.
Examples
`default_rng` is the recommended constructor for the random number class `Generator`. Here are several ways we can construct a random number generator using `default_rng` and the `Generator` class. Here we use `default_rng` to generate a random float:import numpy as np rng = np.random.default_rng(12345) print(rng) rfloat = rng.random() rfloat type(rfloat)✓
<class 'float'>Here we use `default_rng` to generate 3 random integers between 0 (inclusive) and 10 (exclusive):
import numpy as np rng = np.random.default_rng(12345) rints = rng.integers(low=0, high=10, size=3) rints type(rints[0])✓
<class 'numpy.int64'>Here we specify a seed so that we have reproducible results:
import numpy as np rng = np.random.default_rng(seed=42) print(rng) arr1 = rng.random((3, 3)) arr1✓
array([[0.77395605, 0.43887844, 0.85859792],
[0.69736803, 0.09417735, 0.97562235],
[0.7611397 , 0.78606431, 0.12811363]])
If we exit and restart our Python interpreter, we'll see that we
generate the same random numbers again:
import numpy as np rng = np.random.default_rng(seed=42) arr2 = rng.random((3, 3)) arr2✓
array([[0.77395605, 0.43887844, 0.85859792],
[0.69736803, 0.09417735, 0.97562235],
[0.7611397 , 0.78606431, 0.12811363]])
Aliases
numpy.random.default_rng
Referenced by
Other packages
- scipyscipy._lib._util:_transition_to_rng
- scipyscipy.cluster.vq:kmeans
- scipyscipy.cluster.vq:kmeans2
- scipyscipy.interpolate._polyint:barycentric_interpolate
- scipyscipy.interpolate._polyint:BarycentricInterpolator
- scipyscipy.linalg._sketches:clarkson_woodruff_transform
- scipyscipy.linalg._sketches:cwt_matrix
- scipyscipy.linalg.interpolative
- scipyscipy.linalg.interpolative:estimate_rank
- scipyscipy.linalg.interpolative:estimate_spectral_norm
- scipyscipy.linalg.interpolative:estimate_spectral_norm_diff
- scipyscipy.linalg.interpolative:interp_decomp
- scipyscipy.linalg.interpolative:svd
- scipyscipy.optimize._basinhopping:basinhopping
- scipyscipy.optimize._differentialevolution:differential_evolution
- scipyscipy.optimize._differentialevolution:DifferentialEvolutionSolver
- scipyscipy.optimize._dual_annealing:dual_annealing
- scipyscipy.optimize._optimize:check_grad
- scipyscipy.sparse._construct:rand
- scipyscipy.sparse._construct:random
- scipyscipy.sparse._construct:random_array
- scipyscipy.sparse.linalg._eigen._svds:svds
- scipyscipy.sparse.linalg._eigen.arpack.arpack:eigs
- scipyscipy.sparse.linalg._eigen.arpack.arpack:eigsh
- scipyscipy.sparse.linalg._expm_multiply:traceest
- scipyscipy.sparse.linalg._svdp:_svdp
- scipyscipy.spatial.distance:directed_hausdorff
- scipyscipy.spatial.transform._rotation:Rotation.random
- scipyscipy.stats._fit:goodness_of_fit
- scipyscipy.stats._kde:gaussian_kde.integrate_box
- scipyscipy.stats._multicomp:dunnett
- scipyscipy.stats._probability_distribution:_ProbabilityDistribution.sample
- scipyscipy.stats._qmc:_van_der_corput_permutations
- scipyscipy.stats._qmc:Halton
- scipyscipy.stats._qmc:LatinHypercube
- scipyscipy.stats._qmc:MultinomialQMC
- scipyscipy.stats._qmc:MultivariateNormalQMC
- scipyscipy.stats._qmc:PoissonDisk
- scipyscipy.stats._qmc:QMCEngine
- scipyscipy.stats._qmc:Sobol
- scipyscipy.stats._qmc:van_der_corput
- scipyscipy.stats._resampling:BootstrapMethod
- scipyscipy.stats._resampling:MonteCarloMethod
- scipyscipy.stats._resampling:permutation_test
- scipyscipy.stats._resampling:PermutationMethod
- scipyscipy.stats._sensitivity_analysis:sobol_indices
- scipyscipy.cluster.vq._vq_impl:kmeans
- scipyscipy.cluster.vq._vq_impl:kmeans2
- scipyscipy.optimize._qap:quadratic_assignment
- scipyscipy.stats._resampling:bootstrap
- scipyscipy.optimize._biteopt_py:biteopt
- scipyscipy.spatial.distance._distance:directed_hausdorff
- skimageskimage.data._binary_blobs:binary_blobs
- skimageskimage.draw._random_shapes:random_shapes
- skimageskimage.feature.brief:BRIEF
- skimageskimage.feature.haar:draw_haar_like_feature
- skimageskimage.graph._graph_cut:cut_normalized
- skimageskimage.measure.fit:ransac
- skimageskimage.restoration.deconvolution:unsupervised_wiener
- skimageskimage.morphology._skeletonize:medial_axis
- skimageskimage.segmentation._quickshift:quickshift
- skimageskimage.transform.hough_transform:probabilistic_hough_line
- skimageskimage.util.noise:random_noise