矢量化指的是用数组表达式代替循环来操作数组里的每个元素。
NumPy提供的通用函数(既ufunc函数)是一种对ndarray中的数据进行元素级别运算的函数。
例如,square函数计算各元素的平方,rint函数将各元素四舍五入:
![](https://i-blog.csdnimg.cn/blog_migrate/e89182abf45e51e646209ca0b4e994ba.png)
还有一些函数接受2个参数,叫二元ufunc,比如add函数和maximum函数:
![](https://i-blog.csdnimg.cn/blog_migrate/0784e4e9d3e0f9a63154bb9a83378c6a.png)
numpy.where函数
numpy.where函数是三元表达式 x if condition else y 的矢量化版本,例如:
![](https://i-blog.csdnimg.cn/blog_migrate/efcaf446b96d39db6d53541c97e364ce.png)
np.where函数的第二个参数和第三个参数不是必要的,它们都可以是标量值,例如:
![](https://i-blog.csdnimg.cn/blog_migrate/93a2464cb52a33877ddeff9f58645c7f.png)
数学和统计方法
例如np.sum函数可以对数组里的元素求和:
![](https://i-blog.csdnimg.cn/blog_migrate/2b68ba1116be6b903e9906c92e3ebda8.png)
对于二维数组,sum函数也是将所有元素求和,但是二维数组是有横轴和竖轴两个方向的,所以sum函数对于二维数组还可以按照方向进行求和:
![](https://i-blog.csdnimg.cn/blog_migrate/1e02d4de907555e3de2335f4f889da08.png)