【Python】记录四:numpy矩阵操作(持续更新)

来源:互联网 发布:mac装双系统内存不足 编辑:程序博客网 时间:2024/05/29 03:43

记录numpy里面对矩阵的一些常用操作。

1.np.dot

表示矩阵之间的点积和乘积操作。当两个矩阵为二维矩阵时,计算结果和正常矩阵相乘结果相同。a1是一个2*3的矩阵,a2是一个3*3的矩阵,a3是a1与a2的逆相乘的结果,是一个2*3的矩阵。

import numpy as np# 2-D array: 2 x 3a1 = np.array([[1,2,3],[2,3,4]])# 2-D array: 3 x 3a2 = np.array([[1,2,3],[2,3,4],[3,4,5]])a3 = np.dot(a1,a2.T)
# 2-D array: 2 x 3a3:array([[14, 20, 26],[20, 29, 38]])

当两个矩阵为一维矩阵时(维度必须一致),计算结果为两个一维矩阵之间的点积结果。

import numpy as np# 2-D array: 3 x 1a1 = np.array([1,2,3])# 2-D array: 3 x 1a2 = np.array([2,3,4])a3 = np.dot(a1,a2)
a3:20

2.np.sum

numpy中常见的矩阵求和函数。当矩阵为一维矩阵时,结果就是简单的求和结果:

import numpy as np# 1-D arraya1 = np.array([1,2,3])a2 = np.sum(a1)
a2:6

当矩阵为多维矩阵时,np.sum中可以通过加入参数来控制对矩阵求和的方向。

import numpy as np# 2-D array:2*3a1 = np.array([[1,2,3],[2,3,4]])# 不加axis参数a2 = np.sum(a1)# axis参数为0a3 = np.sum(a1,axis = 0)# axis参数为1a4 = np.sum(a1,axis = 1)
# 对a1中所有元素进行求和a2:15# 对a1中的每个列向量进行求和a3:array([3, 5, 7])# 对a1中的每个行向量进行求和a4:array([6, 9])

3.np.zeros_like/np.ones_like和np.zeros/np.ones
都是用来构造全0或全1的矩阵。a2和a3相同,a4和a5相同。

import numpy as np# 2-D arraya1 = np.array([[1,2,3],[2,3,4]])a2 = np.ones_like(a1)a3 = np.ones(a1.shape)a4 = np.zeros_like(a1)a5 = np.zeros(a1.shape)
原创粉丝点击