今天是Numpy专题的第二篇,我们来进入正题,来看看Numpy的运算。
上一篇文章当中曾经提到过,同样大小的数据,使用Numpy的运算速度会是我们自己写循环来计算的上百倍甚至更多。并且Numpy的API非常简单,通常只要简单几行代码就可以完成非常复杂的操作。
计算与广播
在Python中的数组无论是什么类型,我们是无法直接对其中所有的元素进行计算的。想要做到这一点,必须要通过map这样的方式操作。而Numpy当中,我们可以很方便地对一整个数组或者是矩阵进行各式的计算。
首先,我们先定义一个Numpy的数组:
arr = np.array([[1,2,3],[2,2,3]])
![5edb5be504b8a0a30df393e82632a330.png](https://img-blog.csdnimg.cn/img_convert/5edb5be504b8a0a30df393e82632a330.png)
首先而我们来看一下基本的四则运算:
![31f73db4f084b08ed5a9c25e7dfd3e39.png](https://img-blog.csdnimg.cn/img_convert/31f73db4f084b08ed5a9c25e7dfd3e39.png)
这张图中我们可以看出两点,首先是Numpy当中的数组重载了四则运算符,我们可以直接通过加减乘除进行计算。第二点是Numpy自动替我们做了映射,虽然我们运算操作的对象是数组本身,但是Numpy自动替我们映射到了其中的每一个元素。
如果你不喜欢直接运算,想要使用Numpy的api进行调用,也是一样可以的。Numpy当中也为加减乘除提供了api。
![feb6ed2fcca7634ebc9dffa027c2a9d5.png](https://img-blog.csdnimg.cn/img_convert/feb6ed2fcca7634ebc9dffa027c2a9d5.png)
我们甚至还可以比较两个数组的大小,得到的结果是一个bool型的数组