サイトを検索した後、この問題の解決策が見つかりませんでした。そのシンプルな、私はすでに存在する疎なマトリックスを更新したいと思います。だから私はクー行列を開始したと言うことができます:scipyでオンザフライでクー・マトリックスを更新する
from scipy.sparse import coo_matrix
import numpy as np
row = np.array([0, 3, 1, 0])
col = np.array([0, 3, 1, 2])
data = np.array([4, 5, 7, 9])
a=coo_matrix((data, (row, col)), shape=(4, 4)).toarray()
array([[4, 0, 9, 0],
[0, 7, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 5]])
ファインが、何を、私はちょうど空のまばらな配列をしたいと形状のみでそれを開始した場合、その後、値を何度も更新します。私が成功した唯一の方法は、私の古いものに新しいクオマトリックスを加えることです。
a=coo_matrix((4, 4), dtype=np.int8)
a=a+coo_matrix((data, (row, col)), shape=(4, 4))
a.toarray()
array([[4, 0, 9, 0],
[0, 7, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 5]])
そして私はこのスパースアレイを何度も更新したいと思います。しかし、これは、私が各更新のための関数を呼び出すので、かなり時間がかかります。よりよい方法が必要ですが、ドキュメントが少し明るい(少なくとも私が読んだもの)か、それを見ていないように感じます。
どうもありがとうございました
ありがとうございました。 – Canuck
私は行、col、データ配列を構築し、edでcoo行列を構築することにあなたのアドバイスを取った。ニースは問題を回避し、実際にはおそらくそれを行う最も賢明な方法です。ありがとう。 – Canuck