11
スパースCSR形式に変換したい大きな行列があります。scipyからのアクセス値、列インデックス、およびrow_ptrデータCSRスパース行列
私が行うとき:Aが密集しているところ
import scipy as sp
Ks = sp.sparse.csr_matrix(A)
print Ks
が、私はなど
(0, 0) -2116689024.0
(0, 1) 394620032.0
(0, 2) -588142656.0
(0, 12) 1567432448.0
(0, 14) -36273164.0
(0, 24) 233332608.0
(0, 25) 23677192.0
(0, 26) -315783392.0
(0, 45) 157961968.0
(0, 46) 173632816.0
を取得...
私は行インデックス、列インデックス、および値のベクトルを取得することができます使用:
Knz = Ks.nonzero()
sparserows = Knz[0]
sparsecols = Knz[1]
#The Non-Zero Value of K at each (Row,Col)
vals = np.empty(sparserows.shape).astype(np.float)
for i in range(len(sparserows)):
vals[i] = K[sparserows[i],sparsecols[i]]
スパースCSRフォーマット(Value、Column Index、Row Pointer)に含まれると思われるベクトルを抽出することは可能ですか?
SciPyのドキュメントでは、これらの3つのベクトルからCSRマトリックスを生成できると説明していますが、逆のことをして3つのベクトルを外に出したいと思います。
私には何が欠けていますか?
ありがとうございました!