首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >行和列都很大时的python矩阵

行和列都很大时的python矩阵
EN

Stack Overflow用户
提问于 2017-07-04 03:25:33
回答 1查看 121关注 0票数 0

我想在python中创建一个2D矩阵,当行数和列数相等时,它大约是231000。大多数单元格条目将为零。一些i条目可能是非零的。

创建这个矩阵的原因是应用奇异值分解得到秩为30的U-S-V矩阵。

有没有人能告诉我如何通过应用合适的库来实现这一点?我试过pandas Dataframe,但它显示内存错误。

我也看过奇异值分解矩阵,但不知道如何应用它来求奇异值分解。

EN

回答 1

Stack Overflow用户

发布于 2018-06-22 06:49:18

我认为这是一个重复的问题,但无论如何我都会回答这个问题。

python中有几个库旨在处理非常稀疏矩阵上的部分svds。

我个人的偏好是scipy.sparse.linalg.svds,一个迭代部分奇异值分解计算的ARPACK实现。

您还可以尝试使用函数sparsesvd.sparsesvdscipy.sparse.linalg.svd,前者使用SVDLIBC实现,后者使用LAPACK实现。

要将表转换为这些算法使用的格式,您需要导入允许您使用csc_matrix classscipy.sparse

使用上面的链接可以帮助你解决问题。堆栈溢出上已经有很多资源,互联网上还有更多的资源。

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

https://stackoverflow.com/questions/44892700

复制
相关文章

相似问题

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