Numpy常用功能、函数

Numpy

np.matrix():矩阵标准写法

1
2
3
4
5
6
7
8
9
10
11
>>> a = np.matrix('1 2 7; 3 4 8; 5 6 9') #单行写法
>>> a #矩阵的换行必须是用分号(;)隔开,内部数据必须为字符串形式(“ ”),矩
matrix([[1, 2, 7], #阵的元素之间必须以空格隔开。
[3, 4, 8],
[5, 6, 9]])

>>> b=np.array([[1,5],[3,2]])
>>> x=np.matrix(b) #矩阵中的data可以为数组对象。
>>> x
matrix([[1, 5],
[3, 2]])

np.inf:无穷大

np.set_printoptions(suppress=True)

不用科学记数法输出

np.multiply():矩阵对应元素相乘

np.linalg:矩阵运算,中的常用函数

diag 以一维数组的形式返回方阵的对角线元素
dot 矩阵乘法
det 计算矩阵行列式
eig 计算方阵的特征值和特征向量
inv 计算方阵的逆
lstsq 计算Ax=b的最小二乘解
norm  计算范数(ord=指定范数),默认为2范数
pinv 计算矩阵的Moore-Penrose伪逆
qr 计算qr分解
svd 计算奇异值分解
solve 解线性方程组Ax=b,其中A为一个方阵
trace 计算对角线元素的和

np.newaxis: 新增纬度

1
import numpy as np

In [30]:

1
2
3
#np.newaxis多用于防止取出一行或列后数据降维
a = np.arange(6).reshape(2,3);
a

Out[30]:

1
2
array([[0, 1, 2],
[3, 4, 5]])

In [31]:

1
2
3
4
# np.newaxis加在哪个位置,就能在shape里看到相应位置增加了一个纬度
c = a[:, np.newaxis] #这里相当于a[:, np.newaxis, :]加在了行的后面列的前面
print(c)
print("c.shape",c.shape)
1
2
3
4
[[[0 1 2]]

[[3 4 5]]]
c.shape (2, 1, 3)

In [27]:

1
2
3
d = a[:,np.newaxis, 2]  #这里是取2号列
print(d)
print("d.shape",d.shape)
1
2
3
[[2]
[5]]
d.shape (2, 1)

In [25]:

1
2
3
4
5
e = a[1, np.newaxis, :]  #这里是取1号行
print(e)
print("e.shape",e.shape)
[[3 4 5]]
e.shape (1, 3)
꧁༺The༒End༻꧂