scipy.sparse.

rand#

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

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

警告

此函数返回一个稀疏矩阵 - 而不是稀疏数组。 建议使用 random_array 来利用稀疏数组的功能。

参数:
m, nint

矩阵的形状

density实数, 可选

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

formatstr, 可选

稀疏矩阵格式。

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 为 int,则使用新的 RandomState 实例,并使用 random_state 作为种子。

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

在 1.15.0 版本中更改: 作为从使用 numpy.random.RandomState 过渡到使用 numpy.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.        ]])