を推測することはできませんここでのpython SSCCEだ:Pythonの空csr_matrixはValueErrorををスロー:ゼロサイズのインデックスアレイからの寸法
import scipy.sparse
data = []
row = []
col = []
csr = scipy.sparse.csr_matrix((data, (row, col))) #error happens here
print(type(csr))
print(csr)
私はエラーを取得するpython2.7でそれを実行している:
raise ValueError('cannot infer dimensions from zero sized index arrays')
ValueError: cannot infer dimensions from zero sized index arrays
csr = scipy.sparse.csr_matrix(([10,20,30], ([0,0,0],[0,1,2])))
またはこのような::私は彼らがこのような値養うとき、それは正しく動作
csr = scipy.sparse.csr_matrix(([10,20], ([0,0],[0,1])))
csr = scipy.sparse.csr_matrix(([10], ([0],[0])))
私はでドキュメントを読んで: http://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.htmlと
http://docs.scipy.org/doc/scipy/reference/sparse.html#usage-information
それは、私はそれでゼロのアイテムとCSR行列を作ることができない理由を説明していないようです。
このエラーは何が起こっているのですか?私は、scipy.sparse.csr.csr_matrix型は、インスタンス化時に少なくとも1つの値を持たなければならないと思いますか?それは愚かな制限のように思える。
本当に、あなたはおそらく代わりに、配列が空でない場合でも、scipyのダウンロードが推測させるの明示的な形状を与える必要があります。 – user2357112
'csr = scipy.sparse.csr_matrix((0、0))'のように、空のcsr_matrixを作成することができます。しかし、これは空のリストからは推測されません。それは質問です。なぜ要素がほしいと思っているのではなく、何かが間違っていると推測する必要がありますか?その答えは、それがちょうどその方法であり、それに対処しているからです。 –
関連するコードは 'coo_matrix .__ init__'にあります。 – hpaulj