import numpy as np a = np.array([0.1,0.2,0.3,0.4]) b = np.array([10,20,30,40]) c = a * b print(c)输出结果如下:
[ 1. 4. 9. 16.]
但如果两个形状不同的数组呢?它们之间就不能做算术运算了吗?当然不是!为了保持数组形状相同,NumPy 设计了一种广播机制,这种机制的核心是对形状较小的数组,在横向或纵向上进行一定次数的重复,使其与形状较大的数组拥有相同的维度。import numpy as np a = np.array([[ 0, 0, 0], [10,10,10], [20,20,20], [30,30,30]]) #b数组与a数组形状不同 b = np.array([1,2,3]) print(a + b)输出结果为:
[[ 1 2 3] [11 12 13] [21 22 23] [31 32 33]]下图 1 :通过数组 a 、b 的运算展示了广播机制的实现流程。
图1:Numpy 数组广播机制
本文链接:http://task.lmcjl.com/news/13608.html