NumPy数组可以使用数组表达式来处理数据。用数组表达式打胎循环的做法,通常称为矢量化。一般来说,矢量化数组运算要比等价的Python方式快很多。假设我们想要在一组值上计算函数sqrt(x^2 + y^2)
In [1] : import numpy as np
points = np.arange(-3,3,0.01)
xs,ys = np.meshgrid(points,points)
ys
Out[1]:array([[-3. , -3. , -3. , ..., -3. , -3. , -3. ],[-2.99, -2.99, -2.99, ..., -2.99, -2.99, -2.99], [-2.98, -2.98, -2.98, ..., -2.98, -2.98, -2.98], ..., [ 2.97, 2.97, 2.97, ..., 2.97, 2.97, 2.97], [ 2.98, 2.98, 2.98, ..., 2.98, 2.98, 2.98], [ 2.99, 2.99, 2.99, ..., 2.99, 2.99, 2.99]])对该数组进行求值,可以把这两个数组当做两个浮点数进行运算:Out[10]: