查看“广播机制:通过扩展实现数组运算”的源代码
←
广播机制:通过扩展实现数组运算
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
== Numpy数组的广播机制 == *注意numpy里数组之间的运算和线性代数中的矩阵运算是不一样的 *同纬度和形状的数组之间就是同位置的元素两两匹配运算的结果 ------------------------------- import numpy as np x = np.array([[1,2,1],[4,5,6]]) y = np.array([[1,2,1],[3,4,5]]) print(x+y) # [[ 2 4 2] # [ 7 9 11]] print(x-y) # [[0 0 0] # [1 1 1]] print(x*y) # [[ 1 4 1] # [12 20 30]] -------------------------------- 注意:如果是列和行其中之一有空缺是可以通过复制来运算的。 但是蓝本不能有缺或者多,即行和列都不完整。 == 矩阵数组的创建 == -------------------------------- import numpy as np a = np.arange(3,10)#默认从3开始到10(不包括10),步长为1 print(a) #>>>[3 4 5 6 7 8 9] a_ones = np.ones((3,4))#创建3*4的全1矩阵 print(a_ones ) # [[1. 1. 1. 1.] # [1. 1. 1. 1.] # [1. 1. 1. 1.]] a_zeros = np.zeros((3,4))#创建3*4的全0矩阵 print(a_zeros ) # [[0. 0. 0. 0.] # [0. 0. 0. 0.] # [0. 0. 0. 0.]] a_eye = np.eye(3)#创建3阶单位矩阵 # print(a_eye) # [[1. 0. 0.] # [0. 1. 0.] # [0. 0. 1.]] --------------------------------- == 矩阵数组的点乘 —— dot == --------------------------------- import numpy as np a = np.array([[1,2,3],[7,6,2]]) b = np.array([[1,2],[7,6],[8,2]]) print(a.dot(b)) # [[39 20] # [65 54]] print(a[0,:].dot(b))#第一行的所有列*b --------------------------------- == 行列式的叉乘 —— linalg.det == --------------------------------- import numpy as np a = np.array([[2,3],[6,2]]) print(np.linalg.det(a)) #>>>-14.000000000000004 ---------------------------------
返回至
广播机制:通过扩展实现数组运算
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息