广播是指NumPy在算术运算期间处理不同形状的数组的能力。对数组的算术运算通常在相应的元素上进行。
- 如果两个阵列具有完全相同的形状,则这些操作被无缝执行。
- 如果两个数组的维数不相同,则元素到元素的操作是不可能的。
然而,在NumPy中仍然可以对形状不相似的数组进行操作,因为它拥有广播功能。较小的数组会广播到较大数组的大小,以便使它们的形状可兼容。
#同维矩阵操作
a = np.array([1,2,3,4,5])
b = np.array([10,20,30,40,50])
#相加
print(a+b)
#相乘
print(a*b)
#相减
print(b-a)
#不同维度矩阵操作,就需要使用广播
a = np.array([[1,1,1],[10,10,10],[20,20,20]])
b = np.array([1,2,3])
print("矩阵a")
print(a)
print("矩阵b")
print(b)
#a+b
print(a+b)
#a-b
print(a-b)
#a*b
print(a*b)
多维数组:
多维数组的存取和一维数组类似,因为多维数组有多个轴,因此它的下标需要用多个值来表示,NumPy采用元组(tuple)作为数组的下标。