该博客为本人自学自编的笔记,主要介绍了Numpy部分用处,这是第一篇Numpy文章
Numpy库的简介
Numpy是一个强大的Python库,用于进行科学计算,它可以处理矩阵和很多数据。
- 多维数组对象:在Numpy中,最核心的部分就是它的多维数组对象,或者叫做ndarray。这个数组允许你存储同类型的数据集合,可以是一维(比如一行数字)、二维(比如一个表格或矩阵)、甚至是更高维度的数据结构。使用这种结构,我们可以非常高效地进行数学和逻辑运算。
- 处理工具: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=[a−ec−gb−fd−h]
如果想让矩阵都加减某一个数,直接使用**+ -** 号那个数即可
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×A−1=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=[a∗2c∗2b∗2d∗2]文章来源:https://www.toymoban.com/news/detail-846332.html
此外,不止是加减乘除,平方、判断大小等等都可以直接用在矩阵上。文章来源地址https://www.toymoban.com/news/detail-846332.html
到了这里,关于【Numpy第一讲】如何生成矩阵,如何对矩阵进行加减乘除的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!