![9b1548534d148ae96f95d3d5109ed656.png](https://i-blog.csdnimg.cn/blog_migrate/e77b024b7c3527fe696243d0f13ee4e0.jpeg)
继续来看数组相关的内容。
1 数组运算
我们首先来看看数组基本的加减乘除运算:
![b9e5742d2d7fc33b7b2f89566f3c5781.png](https://i-blog.csdnimg.cn/blog_migrate/14aeecfcaa94caa959b88e3195fef09f.jpeg)
可以看到,数组对一个标量进行运算,就是数组中的每个元素进行相应的运算。我们再来看一些运算符:
![b2b899ad6a0f8831c78e1e8bcad9d5db.png](https://i-blog.csdnimg.cn/blog_migrate/e7510dd31c780eb216a6e44b1fac9ace.jpeg)
上图中的运算符都有其对应的通用函数:
运算符 通用函数
+ np.add()
- np.subtract()
* np.multiply()
/ np.divide()
// np.floor_divide()
% np.mod()
** np.power()
- np.negative()
此外,还有绝对值运算:
![d085f734b4c048442c659355e8c2b9d6.png](https://i-blog.csdnimg.cn/blog_migrate/ee4c2ead8bb9a1a73335f6dcf4da585e.jpeg)
相当于通用函数中的np.absolute()或者np.abs()。
通用函数一般都聚合功能,通过reduce来实现:
![b7bcfd51b0aa677d427dfad9a772ea24.png](https://i-blog.csdnimg.cn/blog_migrate/47a065608e288a63f492358239c6f1bd.jpeg)
可以看到,使用reduce之后,结果变为原数组元素的和或积。如果想实现累计的效果,可以使用accumulate:
![dfaa710d4816fbaf67afda1532010509.png](https://i-blog.csdnimg.cn/blog_migrate/38c7c2a45dcc7cea2eb93598975354c9.jpeg)
此外,使用outer方法可以对两个数组中所有的元素对进行函数运算,我们就可以得到一个9*9乘法表:
![84755e7e698f0071494ba1f861bdbb9a.png](https://i-blog.csdnimg.cn/blog_migrate/60259167acab9d9821e49203ba517fc2.jpeg)
2 聚合
我们接着来看数组的一些聚合操作:
求和
![ed7d45ed87dc89281e58c615c6edc279.png](https://i-blog.csdnimg.cn/blog_migrate/54e5fe47b061e8d0a16236ff5dc343af.jpeg)
等同于
![2819843779dbac97c17abdd03aa9026b.png](https://i-blog.csdnimg.cn/blog_migrate/0cc509bbeea37344e3b345518afc9d32.jpeg)
最大值、最小值
![4549cb3e4cee40949825c38379a462b2.png](https://i-blog.csdnimg.cn/blog_migrate/385ba0913f52ae327f246fe69ad58f74.jpeg)
当然,也可以直接调用这些聚合的方法:
![55cef55943d5c1f777493370d4a9bc46.png](https://i-blog.csdnimg.cn/blog_migrate/90af4be94694506170abd72ad043e05e.jpeg)
多维度聚合
我们现在有一个多维数组x,使用sum()看看会得到什么:
![761fc8b36853c6e05746b07c543281fd.png](https://i-blog.csdnimg.cn/blog_migrate/32f71f373530715fb2dc83781c8eadb1.jpeg)
![0c64c77f1ec7bb78874d605fa1099a94.png](https://i-blog.csdnimg.cn/blog_migrate/a47f25ff3980860d7a04eb7befa42b1f.jpeg)
我们直接调用,返回的是x中所有元素的和。如果想知道每一列或行的和分别是多少,可以指定轴的方向来进行聚合:
![59a420e83e73270fc390a34ca5b4d13f.png](https://i-blog.csdnimg.cn/blog_migrate/4ae93c1a273ad838c252376f53a4b0ed.jpeg)
注意,Python中的0轴为垂直方向,1轴为水平方向。
好了,今天的内容就到这里,下期再见。
更多干货内容,欢迎关注今日头条账号“人人都会机器学习”;你也可以搜索知识星球“自学机器学习”,里面也有精彩内容;还可以关注公众号:“数据实干家”,为你献上数据大餐。