您的位置:首页 > 编程语言 > Python开发

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

2017-11-14 10:29 429 查看
记录numpy里面对矩阵的一些常用操作。

1.np.dot

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

import numpy as np

# 2-D array: 2 x 3
a1 = np.array([[1,2,3],[2,3,4]])
# 2-D array: 3 x 3
a2 = np.array([[1,2,3],[2,3,4],[3,4,5]])
a3 = np.dot(a1,a2.T)


# 2-D array: 2 x 3
a3:array([[14, 20, 26],[20, 29, 38]])


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

import numpy as np

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


a3:20


2.np.sum

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

import numpy as np

# 1-D array
a1 = np.array([1,2,3])
a2 = np.sum(a1)


a2:6


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

import numpy as np

# 2-D array:2*3
a1 = np.array([[1,2,3],[2,3,4]])
# 不加axis参数
a2 = np.sum(a1)
# axis参数为0
a3 = np.sum(a1,axis = 0)
# axis参数为1
a4 = 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 array
a1 = 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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: