用scipy库生成稀疏矩阵

方法一:

1
2
3
4
5
6
7
8
import scipy as spy
from scipy.sparse import csc_matrix
 
m = 2
n = 3
A = spy.sparse.rand(m, n, density=0.5, format='csc', dtype=None).toarray()
print(A)   # [[0.         0.12812445 0.23608898]
           #  [0.99904052 0.         0.        ]]

 

方法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import scipy as spy
from scipy.sparse import csc_matrix
 
m = 2
n = 3
A = spy.sparse.rand(m, n, density=0.5, format='csc', dtype=None)
print(A)   #  (0, 0)    0.538816734003357
           #  (0, 1)    0.39676747423066994
           #  (1, 2)    0.4191945144032948
 
print(A.nonzero())  # (array([0, 0, 1], dtype=int32), array([0, 1, 2], dtype=int32))
print(A.data)       # [0.53881673 0.39676747 0.41919451]
 
matrix = csc_matrix((A.data, (A.nonzero()[0], A.nonzero()[1])), shape=(m, n)).toarray()
print(matrix)       # [[0.53881673 0.39676747 0.        ]
                    #  [0.         0.         0.41919451]]

 

posted @   Picassooo  阅读(378)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示