数组和数的计算
以下操作均在ipython中进行
数组和数的计算是numpy的广播机制造成的,在运算过程中,加减乘除的值被广播到所有的元素上面。
加法减法:
a + 2
乘法除法:
a * 2
a / 2
a / 0
不会出错,但是会出现警告:这里inf代表一个无穷大的数,nan代表一个无穷小的数。
数组和数组的计算
广播原则
如果两个数组的后缘维度,(即从末尾开始算起的维度)的轴长度相符或其中一方的长度为1,则认为它们是广播兼容的。广播会在缺失或和(或)长度为1的维度进行。
例:
shape为(3,3,3)的数组能够和(3,2)的数组进行计算么?不能
shape为(3,3,2)的数组能够和(3,2)的数组进行计算么?可以
shape为(3,3,2)的数组能够和(3,3)的数组进行计算么?可以
二维数组的轴:
三维数组的轴:
定义数组a和数组c,之后使用:
数组和数组的加减法:
数组a和c的维度相同时:相同位置的元素进行加减法。
a + c
数组a和数组d的列数相同:数组a的每一行和数组d进行计算
a + d
数组a和数组e的行数相同:数组a的每一列和数组d进行计算
a + e
数组a和数组e的行数和列数都不相同:不能进行计算
a + f
数组和数组的乘除法:
数组a和c的维度相同时:相同位置的元素进行乘除法
a * c
数组a和数组d的列数相同:数组a的每一行和数组d进行计算
a * d
数组a和数组e的行数相同:数组a的每一列和数组d进行计算
a * e