【Numpy第一讲】如何生成矩阵,如何对矩阵进行加减乘除

本文介绍了Numpy库在科学计算中的核心作用,包括其多维数组(ndarray)的使用、创建不同类型的矩阵以及基本的数学运算如加减乘除。文章展示了如何通过Python的Numpy库进行矩阵操作,这对于数据处理和分析至关重要。
摘要由CSDN通过智能技术生成

该博客为本人自学自编的笔记,主要介绍了Numpy部分用处,这是第一篇Numpy文章

Numpy库的简介

Numpy是一个强大的Python库,用于进行科学计算,它可以处理矩阵和很多数据。

  1. 多维数组对象:在Numpy中,最核心的部分就是它的多维数组对象,或者叫做ndarray。这个数组允许你存储同类型的数据集合,可以是一维(比如一行数字)、二维(比如一个表格或矩阵)、甚至是更高维度的数据结构。使用这种结构,我们可以非常高效地进行数学和逻辑运算。
  2. 处理工具:Numpy不仅提供了多维数组对象,还提供了大量的函数和操作,可以很方便地进行数学计算、数组操作(比如切片、索引、迭代)、线性代数运算、随机数生成等等。使得Numpy成为了科学计算、数据分析、机器学习等领域不可或缺的工具。

如果你打算在Python中进行任何形式的科学计算或数据分析,学习Numpy几乎是必须的一步。

创建矩阵

通过已有的列表,建立一个多维数组

import numpy as np
#根据两组列表,创建一个二维数组
matrix = np.array([[1, 2, 3], [4, 5, 6]])

在这个代码中,根据两组列表,通过 np.array() 函数将他们创建成了一个二维数组。
[ 1 2 3 4 5 6 ] \begin{bmatrix} 1 & 2 &3\\ 4 & 5 &6\\ \end{bmatrix} [142536]
此外,只要是能够有序列表示的类型,都可以通过这个函数创建多维数组,元组同样可以用于创建多维数组。

直接创建数组

创建全0矩阵
import numpy as np
#创建一个3*3全为0的矩阵
zeros_matrix = np.zeros((3, 3))

在这个代码中,通过 np.zeros() 函数,创建了一个长宽均为3的全0矩阵。
[ 0 0 0 0 0 0 0 0 0 ] \begin{bmatrix} 0 & 0 &0\\ 0& 0 &0\\ 0&0&0\\ \end{bmatrix} 000000000

创建全1矩阵
import numpy as np
#创建一个3*3全为1的矩阵
ones_matrix = np.ones((3, 3))

在这个代码中,通过 np.zeros() 函数,创建了一个长宽均为3的全0矩阵。
[ 1 1 1 1 1 1 1 1 1 ] \begin{bmatrix} 1 & 1 &1\\ 1& 1 &1\\ 1&1&1\\ \end{bmatrix} 111111111

创建对角线为1的矩阵
import numpy as np
#创建一个3*3的单位矩阵
identity_matrix = np.eye(3)

在这个代码中,通过 np.eye() 函数,创建了3*3对角线全为1的单位矩阵
[ 1 0 0 0 1 0 0 0 1 ] \begin{bmatrix} 1 & 0 &0\\ 0& 1 &0\\ 0&0&1\\ \end{bmatrix} 100010001

矩阵的加减乘除

矩阵的加减

进行矩阵的加减前提是两个矩阵拥有相同的维度,加减就是将矩阵中对应的数字进行加减。我们直接用 + - 号即可将他们加减。

import numpy as np

#我们用字母代替,以便更好的展示
A = np.array([[a, b], [c, d]])
B = np.array([[e, f], [g, h]])
C = A + B
D = A - B

此时C的结果应该是
C = [ a + e b + f c + g d + h ] C=\begin{bmatrix} a+e & b+f\\ c+g& d+h \\ \end{bmatrix} C=[a+ec+gb+fd+h]
D的结果
D = [ a − e b − f c − g d − h ] D=\begin{bmatrix} a-e & b-f\\ c-g& d-h \\ \end{bmatrix} D=[aecgbfdh]
如果想让矩阵都加减某一个数,直接使用**+ -** 号那个数即可

A = np.array([[a, b], [c, d]])
C = A+1

C = [ a + 1 b + 1 c + 1 d + 1 ] C=\begin{bmatrix} a+1 & b+1\\ c+1& d+1 \\ \end{bmatrix} C=[a+1c+1b+1d+1]

矩阵的乘除

乘法

矩阵的乘除并不是加减一样简单,他的计算规则是这样的。
A = [ a b c d ] B = [ e f g h ] A=\begin{bmatrix} a & b\\ c& d \\ \end {bmatrix} B=\begin{bmatrix} e & f\\ g& h \\ \end {bmatrix} A=[acbd]B=[egfh]
那么A×B就是这样的
A × B = ( a e + b g a f + b h c e + d g c f + d h ) \mathbf{A} \times \mathbf{B} = \begin{pmatrix} ae + bg & af + bh \\ ce + dg & cf + dh \end{pmatrix} A×B=(ae+bgce+dgaf+bhcf+dh)
使用的函数是

import numpy as np

A = np.array([[a, b], [c, d]])
B = np.array([[e, f], [g, h]])
A × B = np.dot(A,B)
除法

对于矩阵,并不存在“正常”的除法,除以一个矩阵就是乘上它的逆矩阵
A × A − 1 = I 单位矩阵 A ×A^{-1}= I_{单位矩阵} A×A1=I单位矩阵
在Python中,逆矩阵的函数为

A_inv = np.linalg.inv(A)

此时除以A就等价于乘上A_inv

B ➗ A = np.dot(B, np.linalg.inv(A))
乘除一个数

和加减一样,只需要使用 * / 符号即可

A = np.array([[a, b], [c, d]])
D = A * 2

D = [ a ∗ 2 b ∗ 2 c ∗ 2 d ∗ 2 ] D=\begin{bmatrix} a*2 & b*2\\ c*2& d*2 \\ \end{bmatrix} D=[a2c2b2d2]

此外,不止是加减乘除,平方、判断大小等等都可以直接用在矩阵上。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值