python之broadcast和numpy.sum()函数用法及说明
python broadcast和numpy.sum()函数
python 的broadcast机制,适用于当两个array的形状不一样时,可以通过broadcast进行自动的补齐,从而可以减少使用循环所带来的代码量以及提高效率。
它的补齐规则如下:
1.如果两个数组数据维度相同,如(3,1,2)与(1,2,2),且其中某个维度的rank是1,那么会将rank低的数据进行复制,直到两个数组的维度以及rank均相同
2.如果两个数组的维度不同,如(3,1,2)与(2,2),那么维度低的数组会加一,直到其维度与高维度的相匹配,加一的条件在于(1,2)与(2,2)可以进行broadcast,与情况一相同
numpy.sum()
sum()函数参数为numpy.sum(a, axis = )axis代表相加的轴,初始从0开始axis = i,则代表从维度i进行累加,其他维度不变
如
则
numpy-numpy.sum()中‘keepdims‘参数的作用
在numpy的许多函数中,会出现'keepdims'参数,以numpy.sum()为例:
官方文档中给出的解释:
看的一脸懵,还是跑个代码来得实在:
如果并不指定'axis'参数,输出的结果是相同的,区别在于当' keepdims = True'时,输出的是2D结果。
如果指定'axis'参数,输出的结果也是相同的,区别在于'keepdims = True'时,输出的是2D结果。
可以理解为'keepdims = True'参数是为了保持结果的维度与原始array相同。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
栏目分类
- LMWR中文网
- LMWR中文网