[英]Creating a sparse matrix with SciPy in Python
我正在尝试通过阅读文档来创建稀疏矩阵。
因此,根据文档( https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.html ):
当我尝试:
csr_matrix((data = np.array([1, 1, 1, 1, 1, 1]), indices = np.array(2, 3, 4, 5, 7, 7), indptr = np.array([0, 1, 2, 3, 2, 1])))
我有一个例外:
文件“”,第1行csr_matrix((data = np.array([1,1,1,1,1,1]),index = np.array(2,3,4,5,7,7),indptr = np.array([0,1,2,3,2,1])))^ SyntaxError:语法无效
当我尝试:
csr_matrix((np.array([1, 1, 1, 1, 1, 1]), np.array(2, 3, 4, 5, 7, 7), np.array([0, 1, 2, 3, 2, 1])))
再次出现错误消息:
ValueError:仅接受2个非关键字参数
我的目的是创建一个在索引列中有一个矩阵的矩阵
2,3,4,5,7,7
相应行具有索引的位置
0、1、2、3、2、1
(即(0,2),(1、3),(2、4)等)。
你应该都准备好了
from scipy.sparse import csr_matrix
import numpy as np
my_csr = csr_matrix((np.array([1,1,1,1,1,1]), (np.array([0, 1, 2, 3, 2, 1]), np.array([2, 3, 4, 5, 7, 7]))), shape = (8,8))
请注意,您需要指定矩阵的形状(此处通过参数shape
将矩阵设置为正方形8x8矩阵)。 注意数组的顺序和圆括号的使用!
您可以通过转换为密集格式来验证是否令人满意:
my_csr.toarray()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.