首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建已知索引和值的稀疏矩阵

创建已知索引和值的稀疏矩阵
EN

Stack Overflow用户
提问于 2014-03-31 11:59:55
回答 2查看 197关注 0票数 3

我想用python做一个稀疏矩阵。我将非零元素的索引和值作为字典,即:

代码语言:javascript
复制
{((1,3),0.0001),(10,4),0.0212)...}

这意味着元素(1,3)的值是0.0001, (10,4),是0.0212,等等,其余的都是零。

我想知道是否有任何有效的方法来形成这样一个稀疏矩阵,因为数据量是巨大的。矩阵的总维数是2,000 X 2,000,000,只有矩阵的8,000,000有值,其余的都是零。

谢谢,阿米尔

EN

回答 2

Stack Overflow用户

发布于 2014-03-31 12:18:11

many ways来表示稀疏矩阵。其中很多都是用scipy.sparse实现的。

定义稀疏矩阵的方式称为键字典(DOK)格式,但效率不是很高。根据您的用途,您应该将其转换为不同的格式,例如用于按列操作的CSC格式,用于按行操作的CSR格式。

票数 1
EN

Stack Overflow用户

发布于 2014-03-31 12:29:12

您现在使用的方法将在时间和空间复杂度(O(1),O(n))方面是有效的。另一种同样有效的选择是字典字典。这里的第一个键是x-coord,第二个键是y-coord (反之亦然)。我喜欢它,因为它的语法非常直观。

即。要访问第三列和第五行的交叉点处的值: matrix3

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22753398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档