2013-02-16 117 views
0

有什麼方法可以讓我直接創建矩陣而不必使用asmatrix?從我可以看到,所有的在numpy的返回陣列,而不是矩陣,這意味着(根據文檔),該asmatrix將複製的數據的典型矩陣函數(onesrand等)。有什麼辦法可以避免這種情況?我可以避免使用`asmatrix`嗎?

回答

1

根據文檔:

與矩陣,asmatrix不一樣,如果輸入的是已經是 矩陣或ndarray進行復印。等同於矩陣(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]]) 
相關問題