Python --- Numpy 创建n维数组基本方法

Python Numpy 创建n维数组基本方法

编程环境 Python3.7 + Pycharm
<class ‘numpy.ndarray’> 通过 mat() / array()相互转换<class ‘numpy.ndarray’>

1. numpy.array()

	import numpy as np  
	A1 = np.array([1,2,3])
    A2 = np.array([[1,2,3],[4,5,6]])
    print("A1: \n%s"%A1)   #显示格式 对齐
	print("A2: \n%s"%A2)

Python --- Numpy 创建n维数组基本方法

2. numpy.arange() +reshape()/ resize()

resize可以由原来的 array数组填充生成新的array数组

	import numpy as np  
	A = np.arange(10).reshape(2,5)
	B = np.resize(A,(3,5)) 
	print("A: \n%s"%A)  #显示格式 
	print("B: \n%s"%B)
	print("A的类型 {}".format(type(A)))

Python --- Numpy 创建n维数组基本方法

3.创建规则矩阵

函数 ones() zeros() eye() identity() diag()
Notice:
(一) numpy.eye(N,M=None, k=0, dtype=<type ‘float’>)
(1)N=M;(2)k=0 对角全为1;k>0 右上角第k条对角线全为1;k<0 左上角第k条为1
(二) numpy.identity(n, dtype=None) 只能创建方形矩阵

	import numpy as np
	A = np.ones((4,4))   # 单位矩阵 ,参数:元组 A.shape -> (4,4)
	B = np.zeros((4,4))  # 零矩阵
	C = np.eye(4,k = 0,dtype=int)    # 主对角线为全为1的对角矩阵
	D = np.identity(4)   #4维单位矩阵
	E = np.diag(np.arange(1,5))# [1,2,3,4]主对角线矩阵
	F = np.diag([3,2,1],k = 1)# 右上角第1条为[3,2,1] 4维对角线矩阵
	print('右上角第1条为[3,2,1] 4维对角线矩阵 \n%s'%F)	

Python --- Numpy 创建n维数组基本方法

4. 创建随机矩阵

生成一个随机数x

	import numpy as np
	from random import choice #导入随机决策函数
	import math  
	pi = math.pi
	x = choice([0,pi/2,pi,3/2*pi,2*pi])  # 从随机列表中随机选择返回一个值
	print("1-> 随机生成的x: %s"%x)

生成整数/浮点数/关于π的矩阵并运算

	A = np.random.rand(3,3)              # 3*3矩阵  0到1的浮点数
	B = np.random.randint(1,4,(3,3))     # 3*3矩阵  [1,2,3]的整型数
	C = np.random.choice([0,pi/2,pi,3/2*pi,2*pi],(3,2))  #生成 3*2 的随机矩阵
	D = np.sin(C) #计算C的sin()值
	print("2-> C: \n%s"%C)
	print("3-> D = sin(C): \n%s"%D)
	print("4-> D的数据类型: \n"+str(type(D)))

Python --- Numpy 创建n维数组基本方法

5. 数组与矩阵的转换

mat() array()

  import numpy as np
  E = np.random.randint(0,10,(2,3))     # 2*3矩阵
  F = np.mat(E)
  print(F)
  print("E的数据类型: %s"%type(E))
  print("F的数据类型: %s"%type(F))

Python --- Numpy 创建n维数组基本方法