0

マトリックスを直接作成し、使用する必要がない方法はありますasmatrixか?私が見ることができることから、Numpyの典型的な行列関数(、、など)はすべて、行列ではなく配列を返します。これは、(ドキュメントによると)onesデータをコピーすることを意味します。これを回避する方法はありますか?randasmatrix

4

1 に答える 1

1

ドキュメントによると:

行列とは異なり、入力が既に行列または ndarray である場合、asmatrix はコピーを作成しません。matrix(data, copy=False) と同等です。

そのため、次の必要がない場合はデータをコピーしませasmatrix

>>> import numpy as np
>>> a = np.arange(9).reshape((3,3))
>>> b = np.asmatrix(a)
>>> b.base is a
True
>>> a[0] = 3
>>> b
matrix([[3, 3, 3],
        [3, 4, 5],
        [6, 7, 8]])
于 2013-02-16T00:18:01.543 に答える