2.4数组运算:
一、矢量运算
将两个形状完全一样的数组与元素之间逐个相加,有两种方法:
1、for-in循环实现;
2、NumPy的运算表达式实现。
NumPy的矢量特性主要表现为并行化的运算,也就是说在对数组执行运算时会做用到元素级别。
二、 广播运算
对于不同大小的数组之间的运算,在NumPy中提供了对应的处理机制,那就是广播
若两个数组的各维度兼容,也就是两个数组的每一维等长,或其中一个数组为 一维,那么广播机制就适用。如果这两个条件不满足,numpy就会抛出异常,说两个数组不兼容。
总结来说,广播的规则有三个:
如果两个数组的维度数dim不相同,那么小维度数组的形状将会在左边补1。
如果shape维度不匹配,但是有维度是1,那么可以扩展维度是1的维度匹配另一个数组;
如果shape维度不匹配,但是没有任何一个维度是1,则匹配引发错误;