Numpy数组使你可以用数组表达式代替循环,这种做法通常被称为矢量化,这种计算方法更加简洁,例如深度学习框架TensorFlow中的基本操作就是基于张量数组的。
前面我们已经介绍了基本的数组算数运算,接下来将介绍另外两种常用的矢量化操作。
1.meshgrid
np.meshgrid函数可以接受两个一维数组,并产生两个二维数组,生成的二维数组可以用于绘制三维图像。以绘制z = x^2 + y^2三维图像为例:
(1)首先生成-3到3的等差数列数组,数组大小为101,
(2)使用np.meshgrid函数生成二维数组x和y,数组大小为101*101
(3)数组算数运算得到z
(4)画图
2.where
np.where函数是三元表达式x if condition else y的矢量化版本,便于理解,我们给出两个例子:
(1)x if x > y else y
(2)0 if x < 0.5 else 1
领取专属 10元无门槛券
私享最新 技术干货