更新时间:2022-10-07 来源:黑马程序员 浏览量:

NumPy数组不需要循环遍历,即可对每个元素执行批量的算术运算操作,这个过程叫做矢量化运算。不过,如果两个数组的大小(ndarray.shape)不同,则它们进行算术运算时会出现广播机制。除此之外,数组还支持使用算术运算符与标量进行运算。接下来,笔者先来介绍一下矢量化运算。
在NumPy中,大小相等的数组之间的任何算术运算都会应用到元素级,即只用于位置相同的元素之间,所得的运算结果组成一个新的数组。接下来,通过一张示意图来描述什么是矢量化运算,具体如图2-1所示。

图2-1 形状相同的数组运算
由图2-1可知,数组arr1与arr2对齐以后,会让相同位置的元素相加得到一个新的数组result。其中,result数组中的每个元素为操作数相加的结果,并且结果的位置跟操作数的位置是相同的。
大小相等的数组之间的算术运算,示例代码如下。
import numpy as np data1=np.array([[1, 2, 3], [4, 5, 6]]) data2=np.array([[1, 2, 3], [4, 5, 6]]) data1+data2 # 数组相加 array([[2, 4, 6], [8,10,12]]) data1*data2 # 数组相乘 array([[1, 4, 9], [16,25,36]]) data1-data2 # 数组相减 array([[0, 0, 0], [0, 0, 0]]) data1/data2 # 数组相除 array([[1., 1., 1.], [1., 1., 1.]])
全国13城校区全覆盖|黑马程序员AI大模型开发(Python),就近学习、全国就业
2026-04-08黑马程序员AI大模型开发(Python)|大厂共建+实战赋能,学完即具备企业项目能力
2026-04-08黑马程序员AI大模型开发(Python)|5阶段体系化教学,从入门到精通全覆盖
2026-04-08黑马程序员AI大模型开发(Python)|培养企业应用型人才,适配行业核心需求
2026-04-08黑马程序员AI智能应用开发|上市品牌背书,大厂联合研发,打造AI复合型人才
2026-04-08全国13城校区全覆盖|黑马程序员AI智能应用开发,就近学、就近就业
2026-04-08