scipy.sparse.csr_matrix
scipy.sparse.csr_matrix(arg1, shape=None, dtype=None, copy=False)
压缩行稀疏矩阵。
可以通过这几种方式实例化:
csr_matrix(D) | 带有密集矩阵2级ndarrayD |
---|---|
csr_matrix(S) | 与另一个稀疏矩阵S(等效于S.tocsr()) |
csr_matrix((M, N), [dtype]) | 构造形状为(M,N)的空矩阵dtype是可选的,默认为dtype =‘d’。 |
csr_matrix((data, (row_ind, col_ind)), [shape=(M, N)]) | 其中data,row_ind和col_ind满足关系a [row_ind [k],col_ind [k]] = data [k]。 |
csr_matrix((data, indices, indptr), [shape=(M, N)]) | 是标准的CSR表示形式,其中行i的列索引存储在indices [indptr [i]:indptr [i + 1]]中,其对应值存储在data [indptr [i]:indptr [i + 1]]中 。 如果未提供shape参数,则从索引数组中推断出矩阵尺寸。 |
优点:
- 高效的算术运算,CSR + CSR,CSR * CSR等
- 高效地按行切片
- 快速地计算矩阵与向量的内积
缺点:
- 按列切片很慢(考虑CSC_matrix)
- 更改稀疏结构的成本很高(考虑LIL或DOK)
官网例子
>>> import numpy as np
>>> from scipy.sparse import csr_matrix
>>> csr_matrix((3, 4), dtype=np.int8).toarray()
array(