您的位置:首页 > 编程语言 > Python开发

numpy中的广播机制

2019-03-26 22:57 134 查看

https://www.cnblogs.com/jiaxin359/p/9021726.html

http://www.cnblogs.com/yangmang/p/7125458.html

https://blog.csdn.net/qq_36387683/article/details/80628577

结论:

广播原则:

如果两个数组的后缘维度(即:从末尾开始算起的维度)的轴长相符或其中一方的长度为1,则认为它们是广播兼容的,广播会在缺失和(或)长度为1的轴上进行.

1.让所有输入数组都向其中shape最长的数组看齐,shape中不足的部分都通过在前面加1补齐
2.输出数组的shape是输入数组shape的各个轴上的最大值
3.如果输入数组的某个轴和输出数组的对应轴的长度相同或者其长度为1时,这个数组能够用来计算,否则出错
4.当输入数组的某个轴的长度为1时,沿着此轴运算时都用此轴上的第一组值

上面的xx.shape就是(4,1),y.shape就是(5,)。那么就符合其中一方的长度为1,广播会在长度为1的轴上进行,就是在0轴上进行(从末尾维度开始给轴编号)。并且,让所有输入数组都向其中shape最长的数组看齐,shape中不足的部分都通过在前面加1补齐,那么y.shape就变为(1,5);又因为当输入数组的某个轴的长度为1时,沿着此轴运算时都用此轴上的第一组值,所以xx+y的结果如上图。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: