NumPy是Python的一个矩阵类型,提供大量矩阵处理函数。NumPy实际上包含了两种基本的数据类型:数组和矩阵。
NumPy矩阵数组处理的一些例子:
几点常用:
1、使用array将python的原生iterator转换为numpy的array类型
2、numpy使用+ - 等作用于array中的每一个元素
3、numpy的array间的运算是对应位置上的元素运算,如果位数不够,会自动补充
>>> from numpy import array
>>> aa = array([1,2])
>>> bb = array({1,2}) >>> mm = array((1,1,1)) >>> pp = array((1,2,3)) >>> pp + mm array([2, 3, 4]) >>> pp * 2 array([2, 4, 6]) >>> pp ** 2 array([1, 4, 9], dtype=int32) >>> pp[1] 2 >>> jj = array([[1,2,3],[1,1,1]]) >>> jj[0][1] 2 >>> jj[0,1] 2
矩阵:
几点注意:
1、mat.T,矩阵转置
2、mat.I,矩阵求逆
3、mat.mean(),矩阵求均值
4、mat.mean(axis=0/1),0:矩阵按列求均值,1:矩阵按行求均值
5、mat[:,1] 取列,仍为矩阵
6、mat[1,:] 取行
7、mat.A,返回矩阵基本的数组
8、eye(4),生成对角矩阵
9、random.rand(4,4),生成4×4的随机数组
>>> from numpy import mat,matrix >>> ss = mat([1,2,3]) >>> ss matrix([[1, 2, 3]]) >>> ss[0,1] 2
>>> mm = mat([[1],[2], [3]]) >>> mm matrix([[1], [2], [3]]) >>> ss*mm matrix([[14]]) >>> mm.T matrix([[1, 2, 3]]) >>> from numpy import shape >>> shape(mm) (3, 1) >>> shape(mm.T) (1, 3) >>> mm matrix([[1], [2], [3]]) >>> mm.sort() >>> mm matrix([[1], [2], [3]]) >>> dd=([4,5,1]) >>> dd.sort() >>> dd [1, 4, 5] >>> dd = mat([4,5,1]) >>> dd.argsort() matrix([[2, 0, 1]], dtype=int32) >>> dd.mean() 3.3333333333333335 >>> jj = mat([1,2,3],[4,5,6]]) SyntaxError: invalid syntax >>> jj = mat([[1,2,3],[4,5,6]]) >>> shape(jj) (2, 3) >>> jj[1,:] matrix([[4, 5, 6]]) >>> jj[0,0] 1 >>> jj[:,1] matrix([[2], [5]]) >>> jj.mean(axis=0) matrix([[2.5, 3.5, 4.5]]) >>> jj.mean(axis=1) matrix([[2.], [5.]]) >>> jj matrix([[1, 2, 3], [4, 5, 6]])