黑客帝国4矩阵重启1080P(黑客帝国3矩阵革命评价)
本节我们将向大家介绍 Numpy 数组计算的一些进阶技巧。
数组相加
在之前的课程中我们曾经谈到过 Numpy 数组的加法,对于具有相同维度与长度的两个数组,其相加结果为对应位置上元素之和构造的矩阵:
上面的例子中,得到的结果相当于数组 a 与一个实数相加:
接下来,我们构建一个多维数组,来看一下不同维度数组相加的情况:
可以发现,在这种情况下,我们得到的结果相当于在数组 M 的每一行都加上了数组 a。
更神奇的是,Numpy 数组在相加时还会自适应地进行扩展,例如我们将一个3x1数组与一个1x3数组相加:
如上所示,我们得到了一个3x3的数组。
上述神奇的数组加法要求两个相加的数组满足一定的条件,即下面两种情况之一:
一个多维数组与一个一维数组相加,一维数组对应的行/列数与多维数组的行/列数一致
一个行向量数组与一个列向量数组相加
在第一种情况下,若一维数组对应的行/列数与多维数组的行/列数不一致,则无法相加:
对数组 a 进行转置,转置后 a 的行数与数组 M 一致:
Numpy 数组的相加还支持更为复杂的模式,例如函数 logaddexp 可以帮助我们得到 log(exp(x1) + exp(x2)) 的结果:
未完待续:课程内容较多,请复制链接通过电脑学习,获得最佳学习效果。 https://datacademy.io/lesson/79