📅  最后修改于: 2023-12-03 14:52:49.190000             🧑  作者: Mango
稀疏矩阵是一个矩阵中大部分元素为零的矩阵,通常用来存储高维数据。在Python中,我们可以使用CSR(压缩稀疏行)矩阵格式来创建稀疏矩阵。
使用稀疏矩阵需要安装SciPy库,可以使用以下命令进行安装:
pip install scipy
SciPy库中的sparse模块提供了创建稀疏矩阵的方法。下面是一个简单的例子:
import numpy as np
from scipy.sparse import csr_matrix
# 创建一个4x4的矩阵
data = np.array([1, 2, 3, 4])
row_indices = np.array([0, 0, 1, 2])
col_indices = np.array([0, 2, 3, 1])
sparse_matrix = csr_matrix((data, (row_indices, col_indices)), shape=(4, 4))
print(sparse_matrix.toarray())
输出结果:
[[1 0 2 0]
[0 0 0 3]
[0 4 0 0]
[0 0 0 0]]
其中,data
数组保存矩阵中非零的元素;row_indices
数组和col_indices
数组分别保存这些元素在矩阵中的行和列的索引。
除了使用scipy.sparse库外,我们还可以使用NumPy库来创建稀疏矩阵。下面是一个简单的例子:
import numpy as np
# 创建一个4x4的稀疏矩阵
sparse_matrix = np.array([
[0, 1, 0, 2],
[0, 0, 0, 3],
[0, 4, 0, 0],
[0, 0, 0, 0]
])
print(sparse_matrix)
输出结果:
[[0 1 0 2]
[0 0 0 3]
[0 4 0 0]
[0 0 0 0]]
这里我们直接创建一个NumPy数组,其中非零元素的值不为零,其余元素为零。
以上就是两种创建稀疏矩阵的方式。使用scipy.sparse库会更加方便,但是如果你只是简单地创建一个小型矩阵,使用NumPy库也同样可行。