NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。菜鸟教程链接: link.
代码如下:
import numpy as np
创建一个 ndarray 只需调用 NumPy 的 array 函数即可:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
名称 | 描述 |
---|---|
object | 数组或嵌套的数列 |
dtype | 数组元素的数据类型,可选 |
copy | 对象是否需要复制,可选 |
order | 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) |
subok | 默认返回一个与基类类型一致的数组 |
ndmin | 指定生成数组的最小维度 |
例如:
import numpy as np
a = np.array([1,2,3]) #一维array
b = np.array([[1,2],[3,4]]) #二维array
创建一个 ndarray 只需调用 NumPy 的 mat 函数即可,例如:
import numpy as np
a = np.mat([[1,2],[3,4]])
b = np.mat([[1,2,3,4]])
c = np.mat([[1],[2],[3],[4]])
对应于:
a = [ 1 2 3 4 ] , b = [ 1 2 3 4 ] , c = [ 1 2 3 4 ] a = \begin{bmatrix} 1&2 \\ 3&4 \end{bmatrix} ,b=\begin{bmatrix} 1&2 &3 &4 \end{bmatrix} ,c = \begin{bmatrix} 1\\2 \\3 \\4 \end{bmatrix} a=[1324],b=[1234],c=⎣⎢⎢⎡1234⎦⎥⎥⎤
numpy已经为我们实现了对矩阵的各种操作,常见的有:
import numpy as np
a = np.mat([[1,2],[3,4]])
a_t = a.T
a _ t = [ 1 3 2 4 ] a\_t = \begin{bmatrix} 1&3 \\ 2&4 \end{bmatrix} a_t=[1234]
import numpy as np
a = np.mat([[1,2],[3,4]])
a_i = a.I
a _ i = [ − 2 1 1.5 − 0.5 ] a\_i = \begin{bmatrix} -2&1 \\ 1.5&-0.5 \end{bmatrix} a_i=[−21.51−0.5]
import numpy as np
a = np.mat([[1,2],[3,4]])
b = np.mat([[2,3],[4,5]])
c = a.dot(b)
c = [ 10 13 22 29 ] c = \begin{bmatrix} 10&13 \\ 22&29 \end{bmatrix} c=[10221329]
import numpy as np
a = np.mat([[1,2],[3,4]])
print(a[0,1])
print(type(a[0,1]))
输出:
2
<class 'numpy.int32'>
import numpy as np
a = np.mat([[1,2],[3,4]])
print(a[0,:])
print(type(a[0,:]))
输出:
[[1 2]]
<class 'numpy.matrix'>
import numpy as np
a = np.mat([[1,2],[3,4]])
print(a[:,0])
print(type(a[:,0]))
输出:
[[1]
[3]]
<class 'numpy.matrix'>