python 中 numpy包的常用函数及用法
numpy包的导入
import numpy as np
生成高斯数据
mid, sigma = 0, 0.1 # 设置均值和方差
noise = np.random.normal(mid, sigma, 100) #生成100个高斯数据
生成连续数据序列
#方法一
serial = np.arange(0, 100) * 0.1 #生成0-10的共100个数据,然后设置间距为0.1
#方法二
serial = np.arange(0, 10,0.1) #生成0-10的 间距为0.1 的 共100个数据
显示
#显示
plt.title("")
plt.plot(serial[0:100],noise[0:100])
plt.show()
sin函数
y=np.sin(serial)
但是不能写
import math
y=math.sin(serial)
因为math.sin()的参数只允许有一个值
比如
y=math.sin(serial[0])
是合法的
在矩阵中插入一行或者一列
#在X矩阵的第一列都插入值1
X = np.insert(X,0,values=[1],axis=1)
矩阵增加行或列
np.row_stack() 与 np.column_stack()
import numpy as np
a = np.array([[4, 4,], [5, 5]])
c = np.row_stack((a, [8,9]))
d = np.column_stack((a, [8,9]))
矩阵按照行或列复制
numpy.tile()能够把矩阵沿各个方向复制
a = np.array([0,1,2])
np.tile(a,(2,1))
就是把a先沿row方向复制2倍, 再把结果沿coloum方向复制1倍
array([[0,1,2],
[0,1,2]])
求范数
x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)
x: 表示矩阵(也可以是一维)
ord:范数类型
非numpy包的一些临时place occupy
python同时遍历数组的索引和值
>>> my_list = ['a', 'b', 'c']
>>> for idx, val in enumerate(my_list):
... print(idx, val)
...
0 a
1 b
2 c
构造零矩阵
new_array = np.zeros((5,20))#构造5行20列的零矩阵
构造单位阵
numpy.eye(12)#构造一个12×12的单位矩阵
求逆矩阵
b=np.linalg.inv(a)#求矩阵a的逆矩阵