行和列大小都较大时的python矩阵

行和列大小都较大时的python矩阵,python,pandas,Python,Pandas,我想在python中创建一个2D矩阵,当行数和列数相等时,它大约是231000。大多数单元格条目将为零。 某些[i][j]条目将为非零 创建此矩阵的原因是应用奇异值分解(SVD),得到秩为30的[U S V]矩阵 谁能告诉我如何通过应用适当的库来实现这一点。我尝试了数据帧,但它显示内存错误 我也看过scipy.sparse matrix,但不知道如何将其应用于查找SVD。我认为这是一个重复的问题,但无论如何我都会回答这个问题 python中有几个库旨在处理非常稀疏矩阵上的部分SVD 我个人的偏好

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

创建此矩阵的原因是应用奇异值分解(SVD),得到秩为30的[U S V]矩阵

谁能告诉我如何通过应用适当的库来实现这一点。我尝试了数据帧,但它显示内存错误


我也看过scipy.sparse matrix,但不知道如何将其应用于查找SVD。

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

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

我个人的偏好是
scipy.sparse.linalg.svds
,这是一种迭代部分SVD计算的实现

您还可以尝试使用实现的函数
sparsesvd.sparsesvd
,或使用实现的函数
scipy.sparse.linalg.svd

要将表格转换为这些算法使用的格式,您需要导入
scipy.sparse
,这允许您使用
csc\u矩阵


使用上面的链接来帮助您。堆栈溢出上已经有很多资源,internet上还有更多资源

你试过numpy吗?Annd现在我明白你的意思了,它不适用于稀疏矩阵。numpy.ndarray([231000231000])显示了内存错误,可能是重复的