NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)
#!python2 #-*-coding:utf-8-*- import numpy as np print np.version.version #numpy.ndarray #一维数组 #list print np.array([1,2,3]) [1 2 3] #tuple print np.array((1.1,1.2,1.3,2)) [ 1.1 1.2 1.3 2. ] print type(np.array([1,2,3])) <type 'numpy.ndarray'> #二维数组 print np.array([[1,2],[3,4]]) [[1 2] [3 4]] #指定数据类型 numpy.int32, numpy.int16, and numpy.float64 print np.array([1,2,3],dtype=np.int32) [1 2 3] #arange() print np.arange(15) [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14] print type(np.arange(15)) <type 'numpy.ndarray'> print np.arange(15).reshape(3,5) [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14]] #使用numpy.linspace print np.linspace(1,3,9) #使用numpy.zeros,numpy.ones,numpy.eye等方法可以构造特定的矩阵 print np.zeros([3,4]) print np.ones((4,4)) print np.eye(5) #三维数组 print np.zeros((2,2,3)) #数组属性 a=np.zeros((1,2,2)) #数组的维数 a.ndim #每一维度数组大小 a.shape #数组的元素数 a.size #元素类型 a.dtype #每个元素所占字节数 a.itemsize #数组索引,切片,赋值 a=np.array([[1,2,3],[4,5,6]]) print a[1,2] 6 print a[1,:] [4 5 6] print a[1,1:2] [5] a[1,:]=[7,8,9] for x in np.linspace(1,4,5): print x #基本运算 a=np.ones((2,2)) b=np.eye(2) print a>2 print a+b print a-b print b*2 print a*b print b/(a*2) print (a*2)**4 a.sum() #计算每一列 a.sum(axis=0) a.min() a.max() np.sin(a) np.max(a) np.floor(a) np.exp(a) #矩阵乘法 np.dot(a,a) #合并 print np.vstack((a,b)) print np.hstack((a,b)) #以上俩种方法没有涉及浅copy问题 c=np.vstack((a,b)) a[0,1]=5 b[1,0]=3 print a,b,c #数组对象的浅copy与深copy a=np.ones((2,2)) a=b b is a True c=a.copy() c is a False #基本的矩阵运算 #转秩 a=np.array([[1,2],[3,4]]) a.transpose() #迹 就是主对角元素之和 np.trace(a) #numpy.linalg有很多关于矩阵运算 import numpy.linalg as nplg #特征值,特征向量 nplg.eig(a)
下面link是个详细的参考
http://blog.chinaunix.net/uid-21633169-id-4408596.html