numpy模塊中的矩陣對象爲numpy.matrix,包括矩陣數據的處理,矩陣的計算,以及基本的統計功能,轉置,可逆性等等,包括對複數的處理,均在matrix對象中。 class numpy.matrix(data,dtype,copy):返回一個矩陣,其中data爲ndarray對象或者字符形式;dtype:爲data的type;copy:爲bool類型。python
>>> a = np.matrix('1 2 7; 3 4 8; 5 6 9') >>> a #矩陣的換行必須是用分號(;)隔開,內部數據必須爲字符串形式(‘ ’),矩 matrix([[1, 2, 7], #陣的元素之間必須以空格隔開。 [3, 4, 8], [5, 6, 9]]) >>> b=np.array([[1,5],[3,2]]) >>> x=np.matrix(b) #矩陣中的data能夠爲數組對象。 >>> x matrix([[1, 5], [3, 2]])
矩陣對象的屬性:數組
代碼示例ide
>>> a = np.asmatrix('0 2 7; 3 4 8; 5 0 9') >>> a.all() False >>> a.all(axis=0) matrix([[False, False, True]], dtype=bool) >>> a.all(axis=1) matrix([[False], [ True], [False]], dtype=bool) ü Astype方法 >>> a.astype(float) matrix([[ 12., 3., 5.], [ 32., 23., 9.], [ 10., -14., 78.]]) ü Argsort方法 >>> a=np.matrix('12 3 5; 32 23 9; 10 -14 78') >>> a.argsort() matrix([[1, 2, 0], [2, 1, 0], [1, 0, 2]]) ü Clip方法 >>> a matrix([[ 12, 3, 5], [ 32, 23, 9], [ 10, -14, 78]]) >>> a.clip(12,32) matrix([[12, 12, 12], [32, 23, 12], [12, 12, 32]]) ü Cumprod方法 >>> a.cumprod(axis=1) matrix([[ 12, 36, 180], [ 32, 736, 6624], [ 10, -140, -10920]]) ü Cumsum方法 >>> a.cumsum(axis=1) matrix([[12, 15, 20], [32, 55, 64], [10, -4, 74]]) ü Tolist方法 >>> b.tolist() [[12, 3, 5], [32, 23, 9], [10, -14, 78]] ü Tofile方法 >>> b.tofile('d:\\b.txt') ü compress()方法 >>> from numpy import * >>> a = array([10, 20, 30, 40]) >>> condition = (a > 15) & (a < 35) >>> condition array([False, True, True, False], dtype=bool) >>> a.compress(condition) array([20, 30]) >>> a[condition] # same effect array([20, 30]) >>> compress(a >= 30, a) # this form a so exists array([30, 40]) >>> b = array([[10,20,30],[40,50,60]]) >>> b.compress(b.ravel() >= 22) array([30, 40, 50, 60]) >>> x = array([3,1,2]) >>> y = array([50, 101]) >>> b.compress(x >= 2, axis=1) # illustrates the use of the axis keyword array([[10, 30], [40, 60]]) >>> b.compress(y >= 100, axis=0) array([[40, 50, 60]])