rand#
- scipy.sparse.rand(m, n, density=0.01, format='coo', dtype=None, rng=None)[source]#
Generate a sparse matrix of the given shape and density with uniformly distributed values.
Warning
This function returns a sparse matrix – not a sparse array. You are encouraged to use
random_array
to take advantage of the sparse array functionality.- Parameters:
- m, nint
shape of the matrix
- densityreal, optional
density of the generated matrix: density equal to one means a full matrix, density of 0 means a matrix with no non-zero items.
- formatstr, optional
sparse matrix format.
- dtypedtype, optional
type of the returned matrix values.
- rng{None, int,
numpy.random.Generator
}, optional If rng is passed by keyword, types other than
numpy.random.Generator
are passed tonumpy.random.default_rng
to instantiate aGenerator
. If rng is already aGenerator
instance, then the provided instance is used. Specify rng for repeatable function behavior.If this argument is passed by position or random_state is passed by keyword, legacy behavior for the argument random_state applies:
If random_state is None (or
numpy.random
), thenumpy.random.RandomState
singleton is used.If random_state is an int, a new
RandomState
instance is used, seeded with random_state.If random_state is already a
Generator
orRandomState
instance then that instance is used.
Changed in version 1.15.0: As part of the SPEC-007 transition from use of
numpy.random.RandomState
tonumpy.random.Generator
, this keyword was changed from random_state to rng. For an interim period, both keywords will continue to work, although only one may be specified at a time. After the interim period, function calls using the random_state keyword will emit warnings. The behavior of both random_state and rng are outlined above, but only the rng keyword should be used in new code.
- Returns:
- ressparse matrix
See also
random
Similar function allowing a custom random data sampler
random_array
Similar to random() but returns a sparse array
Notes
Only float types are supported for now.
Examples
>>> from scipy.sparse import rand >>> matrix = rand(3, 4, density=0.25, format="csr", rng=42) >>> matrix <Compressed Sparse Row sparse matrix of dtype 'float64' with 3 stored elements and shape (3, 4)> >>> matrix.toarray() array([[0.05641158, 0. , 0. , 0.65088847], # random [0. , 0. , 0. , 0.14286682], [0. , 0. , 0. , 0. ]])