我搜索了網絡找到一個Scipy稀疏矩陣的指南,我失敗了。我會很高興,如果有人會分享任何來源,但現在要問:元組的稀疏數組
我有一個元組數組。我想將元組數組更改爲一個稀疏矩陣,其中元組出現在主對角線和對角線旁邊,如以下示例所示。做這件事的花哨(有效)方式是什麼?
import numpy as np
A=np.asarray([[1,2],[3,4],[5,6],[7,8]])
B=np.zeros((A.shape[0],A.shape[0]+1))
for i in range(A.shape[0]):
B[i,i]=A[i,0]
B[i,i+1]=A[i,1]
print B
輸出中:
[[ 1. 2. 0. 0. 0.]
[ 0. 3. 4. 0. 0.]
[ 0. 0. 5. 6. 0.]
[ 0. 0. 0. 7. 8.]]
也許這是我猜的最愚蠢的方式。 – Cupitor
scipy稀疏軟件包的主要信息來源是其參考頁面:http://docs.scipy.org/doc/scipy/reference/sparse.html。但是,這不是一個精緻的用戶或初學者指南。請記住,這個軟件包仍在開發中。 Matlab的稀疏矩陣可能有更好的文檔。 – hpaulj