import numpy as np
array = np.array([[1,2,3],[2,3,4]])print(array)print('number of dim:',array.ndim)print('shape:',array.shape)print('size:',array.size)
创建array
#两行三列的矩阵
a = np.array([[2,23,4],[2,43,4]])#定义一个三行四列全为0的矩阵
b = np.zeros((3,4))
c = np.ones((3,4),dtype=np.int16)
d = np.empty((3,4))##生成一个有序数列,从10到20,步长为2
e = np.arange(10,20,2)#从0到11
f = np.arange(12).reshape((3,4))##生成线段,分为20段
g = np.linspace(1,10,20)
h = np.linspace(1,10,6).reshape((2,3))
array 合并
import numpy as np
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A,B))#vertical stack
D = np.hstack((A,B))#horizontal stackprint(A.shape,C.shape)print(A.shape,D.shape)
A1 = A[:,np.newaxis]#add dim to column
B1 = B[:,np.newaxis]
C1= np.vstack((A1,B1))#vertical stack
D1 = np.hstack((A1,B1))#horizontal stackprint(A1.shape,C1.shape)print(A1.shape,D1.shape)
C2 = np.concatenate((A1,B1,B1,A1),axis =0)#combine in columnprint(C2)
C3 = np.concatenate((A1,B1,B1,A1),axis =1)#combine in rowprint(C3)
array分割
import numpy as np
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.vstack((A,B))#vertical stack
D = np.hstack((A,B))#horizontal stackprint(A.shape,C.shape)print(A.shape,D.shape)
A1 = A[:,np.newaxis]#add dim to column
B1 = B[:,np.newaxis]
C1= np.vstack((A1,B1))#vertical stack
D1 = np.hstack((A1,B1))#horizontal stackprint(A1.shape,C1.shape)print(A1.shape,D1.shape)
C2 = np.concatenate((A1,B1,B1,A1),axis =0)#combine in columnprint(C2)
C3 = np.concatenate((A1,B1,B1,A1),axis =1)#combine in rowprint(C3)
2. 基础运算
import numpy as np
a = np.array([10,20,30,40])
b = np.arange(4)
c = a+b
d = a-b
e = b**4
f =10*np.sin(a)print(b<3)print(b==3)#matrix calculator
x = np.array([[1,1],[0,1]])
y = np.arange(4).reshape((2,2))#multiply
z = np.dot(x,y)
z1 = a.dot(b)#random[0,1] 2rows 4 columns
a2 = np.random.random((2,4))print(a2)print(np.sum(a2,axis =1))#sum in rowprint(np.min(a2,axis =0))#max in columnprint(np.max(a2))
A = np.arange(2,14).reshape((3,4))print(np.argmin(A))#index of minmumprint(np.argmax(A))#index of max numberprint(np.mean(A))print(np.median(A))print(np.cumsum(A))#cumlitive sumprint(np.diff(A))#adjacant diffprint(np.nonzero(A))print(np.sort(A))print(np.transpose(A))#the same as print(A.T)print(np.clip(A,5,9))#all <5 keep 5. bigger than 9, keep 9print(np.mean(A,axis =0))
3. 索引
import numpy as np
A = np.arange(3,15)print(A)print(A[3])
B = np.arange(3,15).reshape((3,4))print(B)print(B[2])#output is one rowprint(B[2][1])#search row2 and column1print(B[2,1])print(B[2,:])#all number in row 2print(B[:,1])#all numbers in col1for row in B:print(row)for column in B.T:print(column)for item in B.flat:##transfer matrix to arrayprint(item)
4. copy
a = np.arange(4)
b = a
c = a
d = b
a[0]=0.3
a
array([0,1,2,3])
a[0]=11
a
array([11,1,2,3])
b is a
True
b
array([11,1,2,3])
d is a
True
d[1:3]=[22,33]
d
array([11,22,33,3])
b
array([11,22,33,3])
c
array([11,22,33,3])
b = a.copy()#deep copy
b
array([11,22,33,3])
a[3]=44
a
array([11,22,33,44])
b
array([11,22,33,3])