python - 创建一个已知索引和值的稀疏矩阵

标签 python numpy matrix

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

{((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 有值,其余为零。

谢谢, 阿米尔

最佳答案

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

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

关于python - 创建一个已知索引和值的稀疏矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22753398/

相关文章:

Python for x in list 基本问题

python - 使用 matplotlib 在不同图(无子图)之间链接轴

python - numpy数组比较的高效Python实现

r - 将字符矩阵转换为数字矩阵

r - 在 r 中制作不同列表条目的矩阵

python - 如何避免 VSCode 中的一行中的 python autopep8 格式化?

python - 使用sqlalchemy和mysql-python,如何设置charset=utf8mb4?

python - 将 'while' 循环中的数据存储在数组中

python - 如何检查 numpy 数组列表是否包含给定的测试数组?

c - 在函数中传递矩阵 (C)