scipy.sparse.

rand#

scipy.sparse.rand(m, n, density=0.01, format='coo', dtype=None, rng=None)[source]#

生成具有给定形状、密度和均匀分布值的稀疏矩阵。

警告

此函数返回一个稀疏矩阵,而非稀疏数组。建议您使用 random_array 以利用稀疏数组功能。

参数:
m, nint

矩阵的形状

density实数,可选

生成矩阵的密度:密度为一表示一个完整矩阵,密度为零表示一个没有非零项的矩阵。

format字符串,可选

稀疏矩阵格式。

dtypedtype,可选

返回矩阵值的类型。

rng{None, int, numpy.random.Generator},可选

如果 rng 作为关键字参数传递,则 numpy.random.Generator 之外的类型会传递给 numpy.random.default_rng 以实例化一个 Generator。如果 rng 已经是 Generator 实例,则使用提供的实例。指定 rng 以获得可重复的函数行为。

如果此参数按位置传递,或者 random_state 作为关键字参数传递,则 random_state 参数的旧版行为适用。

  • 如果 random_state 为 None(或 numpy.random),则使用 numpy.random.RandomState 单例。

  • 如果 random_state 是一个整数,则使用一个新的 RandomState 实例,并以 random_state 作为种子。

  • 如果 random_state 已经是 GeneratorRandomState 实例,则使用该实例。

版本 1.15.0 中有所更改:作为从使用 numpy.random.RandomStatenumpy.random.GeneratorSPEC-007 过渡的一部分,此关键字已从 random_state 更改为 rng。在过渡期间,这两个关键字都将继续有效,但一次只能指定一个。过渡期后,使用 random_state 关键字的函数调用将发出警告。random_staterng 的行为已在上面概述,但在新代码中应仅使用 rng 关键字。

返回:
res稀疏矩阵

另请参阅

random

允许自定义随机数据采样器的类似函数

random_array

类似于 random(),但返回一个稀疏数组

备注

目前仅支持浮点类型。

示例

>>> 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.        ]])