您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页NumPy 中的数组计算:进阶技巧

NumPy 中的数组计算:进阶技巧

来源:二三四教育网

本节我们将向大家介绍 Numpy 数组计算的一些进阶技巧。

数组相加

在之前的课程中我们曾经谈到过 Numpy 数组的加法,对于具有相同维度与长度的两个数组,其相加结果为对应位置上元素之和构造的矩阵:

上面的例子中,得到的结果相当于数组 a 与一个实数相加:

接下来,我们构建一个多维数组,来看一下不同维度数组相加的情况:

可以发现,在这种情况下,我们得到的结果相当于在数组 M 的每一行都加上了数组 a。

更神奇的是,Numpy 数组在相加时还会自适应地进行扩展,例如我们将一个3x1数组与一个1x3数组相加:

如上所示,我们得到了一个3x3的数组。

上述神奇的数组加法要求两个相加的数组满足一定的条件,即下面两种情况之一:

  • 一个多维数组与一个一维数组相加,一维数组对应的行/列数与多维数组的行/列数一致
  • 一个行向量数组与一个列向量数组相加

在第一种情况下,若一维数组对应的行/列数与多维数组的行/列数不一致,则无法相加:

对数组 a 进行转置,转置后 a 的行数与数组 M 一致:

Numpy 数组的相加还支持更为复杂的模式,例如函数 logaddexp 可以帮助我们得到 log(exp(x1) + exp(x2)) 的结果:

未完待续:课程内容较多,请复制链接通过电脑学习,获得最佳学习效果。

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务