python numpy用法,1.numpy和Python的关系-

  python numpy用法,1.numpy和Python的关系?

  本文讨论了Python中Numpy数组的类型、全0和全1数组的生成、随机数组、数组运算、矩阵的简单运算和矩阵的数学运算。

  虽然可以通过在python中嵌套list来模拟矩阵,但是使用Numpy库更方便。

  定义数组

  将numpy作为np导入

  M=np.array([[1,2,3],[2,3,4]]) #定义矩阵,int64

  m

  数组([[1,2,3],

  [2, 3, 4]])

  M=np.array ([[1,2,3],[2,3,4]],dtype=np.float) #定义矩阵,float64

  m

  数组([[1。 2. 3.],

  [2. 3. 4.]])

  Print(m.dtype) #数据类型

  float64

  Print(m.shape) # shape 2行3列

  (2, 3)

  打印(m.ndim) #尺寸

  2

  打印(m.size) #元素数量

  六

  打印(类型(m))

  定义矩阵有一些特殊的方法。

  M=np.zeros((2,2)) #全是0

  m

  数组([[0。 0.],

  [0. 0.]])

  Print(type(m)) #也是一个ndarray类型

  M=np.ones((2,2,3)) #全1

  M=np.full((3,4),7) # all 7

  Np.eye(3) #单位矩阵

  数组([[1。 0. 0.],

  [0. 1. 0.],

  [0. 0. 1.]])

  Np.arange(20)。shape(4,5) #生成一个4行5列的数组

  Np.random.random((2,3)) #[0,1]随机数

  数组([[0.51123127,0.40852721,0.26159126),

  [0.42450279, 0.34763668, 0.06167501]])

  一个2行3列的随机整数数组

  数组([[5,4,9],

  [2, 5, 7]])

  正态随机分布

  数组([[-0.29538656,-0.50370707,-2.05627716),

  [-1.50126655, 0.41884067, 0.67306605]])

  Np.random.choice ([10,20,30),(2,3)) #随机选择

  数组([[10,20,10],

  [30, 10, 20]])

  Np随机(1,10,(2,3))#分布

  数组([[0.01588963,0.12635485,0.22279098),

  [0.08950147, 0.02244569, 0.00953366]])

  操作数组

  来自numpy import *

  A1=array([1,1,1]) #定义一个数组

  a2=数组([2,2,2])

  A1 a2 #用于元素添加

  数组([3,3,3])

  A1*2 #乘以一个数字

  数组([2,2,2])

  ##

  a1=np.array([1,2,3])

  第一等的

  数组([1,2,3])

  A1**3 #表示立方体数组中的每个数字。

  数组([ 1,8,27])

  # #取值。注意是从0开始的,和matlab不一样。

  a1[1]

  2

  # #定义多维数组

  a3=np.array([[1,2,3],[4,5,6]])

  a3

  数组([[1,2,3],

  [4, 5, 6]])

  A3[0] #取出第一行的数据

  数组([1,2,3])

  A3[0,0] #第一行中的第一个数据

  一个

  A3[0][0] #也可以这样使用

  一个

  a3

  数组([[1,2,3],

  [4, 5, 6]])

  A3.sum(axis=0) #按行相加,列不变。

  数组([5,7,9])

  A3.sum(axis=1) #按列相加,行不变。

  数组([ 6,15])

  矩阵的数学运算

  在方阵上

  M=np.array ([[1,2,3],[2,2,3],[2,3,4]]) #定义一个方阵

  m

  数组([[1,2,3],

  [2, 2, 3],

  [2, 3, 4]])

  Print(np.linalg.det(m)) #求行列式

  1.0

  Print(np.linalg.inv(m)) #反转

  [[-1.1.0.]

  [-2.-2.3.]

  [ 2.1.-2.]]

  Print(np.linalg.eig(m)) #特征值特征向量

  (数组([ 7.66898014 0.j,-0.3344007 0.13605817j,

  -0.33449007-0.13605817j]),数组([[-0.47474371 0.j,-0.35654645 0.23768904j,

  -0.35654645-0.23768904j],

  [-0.53664812 0.j,0.80607696 0.j,

  0.80607696-0.j ],

  [-0.6975867 0.j,-0.3895692-0.12190158j,

  -0.38956192 0.12190158j]]))

  y=np.array([1,2,3])

  Print(np.linalg.solve(m,y)) #求解方程组

  [ 1.3.-2.]

  矩阵乘法

  矩阵乘法:根据线性代数的乘法。

  a=np.array([[1,2,3],[2,3,4]])

  b=np.array([[1,2],[3,4],[5,6]])

  a

  数组([[1,2,3],

  [2, 3, 4]])

  b

  数组([[1,2],

  [3, 4],

  [5, 6]])

  方法1

  数组([[22,28],

  [31, 40]])

  Np.matmul(a,b) #方法2

  数组([[22,28],

  注意:在一维数组之间操作时,点()表示内积。

  点乘:将相应的位置相乘。

  a=np.array([[1,2],[3,4]])

  b=np.array([[1,1],[2,2]])

  a

  数组([[1,2],

  [3, 4]])

  b

  数组([[1,1],

  [2, 2]])

  A * b #方法1

  数组([[1,2],

  [6, 8]])

  Np .乘法(a,b) #方法2

  数组([[1,2],

  [6, 8]])

  这就是本文的全部内容。希望对大家的学习有帮助,也希望大家多多支持剧本之家。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: