本文简要介绍 python 语言中 scipy.sparse.diags_array
的用法。
用法:
scipy.sparse.diags_array(diagonals, /, *, offsets=0, shape=None, format=None, dtype=None)#
从对角线构造一个稀疏数组。
- diagonals: 数组 序列
包含数组对角线的数组序列,对应于偏移量。
- offsets: int 或 int 序列,可选
- 要设置的对角线:
k = 0 主对角线(默认)
k > 0 第 k 个上对角线
k < 0 第 k 个下对角线
- shape: int 元组,可选
结果的形状。如果省略,则返回一个足够大以包含对角线的方阵。
- format: {“dia”, “csr”, “csc”, “lil”, ...},可选
结果的矩阵格式。默认情况下(format=None)返回适当的稀疏数组格式。此选择可能会发生变化。
- dtype: dtype,可选
数组的数据类型。
参数 ::
注意:
diags_array
的结果是稀疏等价的:np.diag(diagonals[0], offsets[0]) + ... + np.diag(diagonals[k], offsets[k])
不允许重复的对角线偏移。
例子:
>>> from scipy.sparse import diags_array >>> diagonals = [[1, 2, 3, 4], [1, 2, 3], [1, 2]] >>> diags_array(diagonals, offsets=[0, -1, 2]).toarray() array([[1, 0, 1, 0], [1, 2, 0, 2], [0, 2, 3, 0], [0, 0, 3, 4]])
支持标量广播(但需要指定形状):
>>> diags_array([1, -2, 1], offsets=[-1, 0, 1], shape=(4, 4)).toarray() array([[-2., 1., 0., 0.], [ 1., -2., 1., 0.], [ 0., 1., -2., 1.], [ 0., 0., 1., -2.]])
如果只需要一个对角线(如
numpy.diag
),则以下方法也可以:>>> diags_array([1, 2, 3], offsets=1).toarray() array([[ 0., 1., 0., 0.], [ 0., 0., 2., 0.], [ 0., 0., 0., 3.], [ 0., 0., 0., 0.]])
相关用法
- Python SciPy sparse.diags用法及代码示例
- Python SciPy sparse.dia_array用法及代码示例
- Python SciPy sparse.dia_matrix用法及代码示例
- Python SciPy sparse.dok_matrix用法及代码示例
- Python SciPy sparse.dok_array用法及代码示例
- Python SciPy sparse.isspmatrix用法及代码示例
- Python SciPy sparse.save_npz用法及代码示例
- Python SciPy sparse.issparse用法及代码示例
- Python SciPy sparse.coo_matrix用法及代码示例
- Python SciPy sparse.isspmatrix_csc用法及代码示例
- Python SciPy sparse.isspmatrix_csr用法及代码示例
- Python SciPy sparse.tril用法及代码示例
- Python SciPy sparse.coo_array用法及代码示例
- Python SciPy sparse.bmat用法及代码示例
- Python SciPy sparse.hstack用法及代码示例
- Python SciPy sparse.rand用法及代码示例
- Python SciPy sparse.find用法及代码示例
- Python SciPy sparse.isspmatrix_dia用法及代码示例
- Python SciPy sparse.isspmatrix_lil用法及代码示例
- Python SciPy sparse.csc_matrix用法及代码示例
- Python SciPy sparse.block_diag用法及代码示例
- Python SciPy sparse.vstack用法及代码示例
- Python SciPy sparse.kron用法及代码示例
- Python SciPy sparse.random用法及代码示例
- Python SciPy sparse.identity用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.sparse.diags_array。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。