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