1.ndarray:stands for N-dimensional array,all items are of the same type and the same size.their size is fixed.
2.define a new ndarray:use the array()funciton,passing a python list/tuple containing the elements .
a=np.array([1,2,3,4,5,6,]) b=np.array((1,2,3)),
也可列表与元组混用:-----c=np.array([(1,2,3),[4,5,6],(7,8,9)])
也可定义元素类型:-------d=np.array([[1,2],[3,4]],dtype=complex)
3.check object is an ndarray:by type() function--------------------------type(a)
4.check elements type:---------------------------------a.dtype
5.get the axes:--------------------------a.ndim
6.get the length:--------------------------a.size
7.get the shape:--------------------a.shape
8.the size in bytes of each item in the array:--------------------------------a.itemsize
9.indexing mechanism:------------------------------a.data
10.np.zeros((3,3))创建3x3的全0的ndarray,
np.ones((3,3))创建3x3的全1的ndarray,
q=np.arange(0,10,1)创建0到9步长为1的一维序列矩阵。 --------改变形状:q.reshape(2,5),变成2行5列。
p=np.linspace(0,10,5)创建0到10均匀5个数的一维序列矩阵。
np.random.random(3) 随机生成0到1的三个一维array
np.random.random((3,3))随机生成0到1的3行3列array
11.ndarray+4具有广播操作,array的每个元素都加4(加减乘除数字都具有此广播作用)
ndarray1加减乘除ndarray2:--------对应位置加减乘除操作
12.数学运算:a*np.sin(b) a*sqrt(b),都是对应元素做数学运算
13array做矩阵运算:np.dot(A,B)或A.dot(B)矩阵乘法
14对ndarray内部元素做操作:a.sum()a内的元素全部相加;a.min()a内最小的元素;a.max();a.mean();a.std()a的标准差
15.index:a[4]找出a中的第四位元素
矩阵索引:a[1,2]找出a中第1行第2列的元素。
16.slicing:a[1:5:2]找出a中第1到第4步长为2的所有元素
矩阵切片:a[0,:]取出a的第0行所有列的元素;a[:,0]取出a的所有行第0列的元素;
a[0:2,0:2]取出a的0,1行0,1列的所有元素
a[[0,2],0:2]取出a的第0和2行,0,1列的所有元素
17.iterating:for结构;矩阵可用两个for结构或者一个for+item输出每个元素。或np.apply_along_axis(np.mean,axis=0,arr=A)#在矩阵A中按照列操作取每列的平均值.axis=0表示按每列操作,1表示按每行操作。np.mean处也可以写自己定义的对数据处理的函数,写名字不用带括号。
18.A<0.5判断矩阵中的每个元素是否小于0.5且返回一个布尔值类型的矩阵。
A[A<0.5] 将A中所有小于0.5的数字取出并组成一维array返回。
19.1维转换成2维A=a.reshape(3,4)将a变成3行4列矩阵付给A。
a.shape=(3,4)将a本身变成3行4列矩阵
2维转换成1维a=A.ravel() ,或者a.shape=(12)#即把二维的12个元素换成1维array
20。矩阵的转置:A.transpose()
21.joining arrays(矩阵拼接):np.vstack((A,B))将矩阵A与矩阵B垂直方向上拼接起来。
np.hstack((A,B))将矩阵A与矩阵B水平方向拼接起来。
一维array拼接:np.column_stack((a,b,c))将a,b,c各向量作为列元素水平方向拼接起来
np.row_stack((a,b,c))将a,b,c各向量作为行元素垂直方向拼接起来。
22.splitting array:[B,C]=np.hsplit(A,2)将矩阵A在水平方向上撕裂为2分,左边给B,右边给C。
[B,C]=np.vsplit(A,2)将矩阵A在垂直方向上撕裂为2分,上面给B,下面给C。