numpy 基本知识总结
numpy的引用和拷贝
numpy中数组的赋值只是对原始数组的引用,可以通过id函数说明。通过copy函数可以实现深层拷贝。
>>> a = np.array([1,2,3])
>>> b = a
>>> id(a)
139933353669056
>>> id(b)
139933353669056
>>> a
array([1, 2, 3])
>>> b = np.copy(a)
>>> id(a)
139933353669056
>>> id(b)
139933520812032
numpy矩阵创建
>>> a = np.zeros((2,3))
>>> a
array([[ 0., 0., 0.],
[ 0., 0., 0.]])
>>> b = np.ones((2,3))
>>> b
array([[ 1., 1., 1.],
[ 1., 1., 1.]])
#最后一个参数是数据个数
>>> a = np.linspace(1,5,10)
>>> a
array([ 1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778,
3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
#注意最后一个参数是步长
>>> a = np.arange(1,5,1)
>>> a
array([1, 2, 3, 4])
numpy矩阵计算
矩阵乘法
>>> a = np.array([[1,2,3],[4,5,6]])
>>> b = np.array([[1,2],[3,4],[5,6]])
>>> np.dot(a,b)
array([[22, 28],
[49, 64]])
>>> np.matmul(a,b)
array([[22, 28],
[49, 64]])
矩阵的逆
>>> a = np.array([[1,2],[3,4]])
#奇异矩阵会报错
>>> np.linalg.inv(a)
array([[-2. , 1. ],
[ 1.5, -0.5]])