scipy.sparse.csr_matrix

scipy.sparse.csr_matrix是用于创建压缩行稀疏矩阵的工具,具备高效的算术运算和行切片能力。尽管列切片效率较低,但适用于需要快速矩阵向量内积的场景。不建议频繁更改稀疏结构,可考虑使用LIL或DOK矩阵。更多详情可查阅官方文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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([[0, 0, 0, 0],
       [0, 0, 0, 0],
       [0, 0, 0, 0]], dtype=int8)
>>> row = np.array([0, 0, 1, 2, 2, 2])
>>> col = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csr_matrix((data, (row, col)), shape=(3, 3)).toarray()
array([[1, 0, 2],
       [0, 0, 3],
       [4, 5, 6]])
>>> indptr = np.array([0, 2, 3, 6])
>>> indices = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csr_matrix((data, indices, indptr), shape=(3, 3)).toarray()
array([[1, 0, 2],
       [0, 0, 3],
       [4, 5, 6]])

具有的属性

属性说明
dtype矩阵的数据类型
shape矩阵的形状
ndim维数(常为2)
nnz存储值的数量,包括显式零。
data矩阵的CSR格式数据数组
indices矩阵的CSR格式索引数组
indptrCSR格式索引矩阵的指针数组
has_sorted_indices确定矩阵是否已对索引进行排序

可调用的方法
参考官网:https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.html#scipy.sparse.csr_matrix

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值