1 import numpy as np
2
3 if __name__ == '__main__':
4 #np.dtype 矩阵数据类型,np.shape (3,3)3乘3矩阵,np.ndim 矩阵维数
5 a = np.array([[1,2,3],[1,2,3],[4,5,6]])
6
7 np.uint8([1])
8 np.arange(2,10,2) #[2,10)间距为2的矩阵
9 np.linspace(0,2*np.pi,5) #[0. 1.57079633 3.14159265 4.71238898 6.28318531]一共5个数
10 b=np.zeros((4,3),dtype=np.int32) #零矩阵,4乘3,int型
11 np.ones((2,2),dtype=np.float64) #全1矩阵
12 np.eye(2) #2乘2单位矩阵
13 np.identity(3) #3乘3单位矩阵
14 b = np.random.randint(1,6,(3,3),dtype=np.uint8) #1到6范围内float型2乘3矩阵
15 print(b)
16
17 #矩阵变换
18 a = a.reshape((1,9)) #[[1 2 3 1 2 3 4 5 6]]
19 a = a.reshape((-1,3)) #必须3列
20 a = a.flatten() #转为一维数组[1 2 3 1 2 3 4 5 6]
21
22 b = b.T #转置
23 c = b.transpose() #转置
24 #print(b)
25 a = np.array([[1, 2, 3], [1, 2, 3], [4, 5, 6]])
26 b = np.array([[1,1,1],[2,2,2],[3,3,3]])
27 d = np.hstack((a,b,a)) #水平拼接,维数必须相同
28 e = np.vstack((a,b,a)) #竖直拼接
29
30 print(a.max()) #最大值np.max(a)
31 a.min() #最小值
32 a.mean() #均值
33 A = a.max(axis=0) #每一列的最大值[4 5 6]
34 B = a.max(axis=1) #每一行的最大值[3 3 6]
35 # a = a + b
36 # print(a) #[[2 3 4][3 4 5][7 8 9]]
37 # np.power(a,2) #每项都2次幂
38 # np.sqrt(b) #每项都开方
39 # np.log(a)
40 # np.log10(b)
41 # np.log2(a)
42 C = a * b #每项相乘[[ 1 2 3][ 2 4 6][12 15 18]]
43 D = a @ b #a的行乘b的列,矩阵乘法[[14 14 14][14 14 14][32 32 32]]
44 a.dot(b) #同 D = a @ b
45
46 print("a的第0行:%s" %a[0,:])
47 print("a的第0列:%s" %a[:, 0])
48 print("a的前两行:%s" %a[0:2, :]) #[0,2)不包含第三行
49 print("a的右下角:%s" %a[1:, 1:])
50 a[0,0] = 10
51 a[0,:] = np.array([4,5,6])
52 # a的第0行:[1 2 3]
53 # a的第0列:[1 1 4]
54 # a的前两行:[[1 2 3]
55 # [1 2 3]]
56 # a的右下角:[[2 3]
57 # [5 6]]