python broadcast 和 numpy.sum()函数
发布日期:2022-02-24 11:36:00
浏览次数:7
分类:技术文章
本文共 778 字,大约阅读时间需要 2 分钟。
import numpy as npa = np.random.random_sample((3,1,3))b = np.random.random_sample((2,3))c = a-bc = np.square(c)c = np.sum(c,axis=2)c= np.sqrt(c)a1 = a[1,:,:]b1 = b[1,:]print(a1,'5')print(b1,'6')print(np.square(a1-b1).shape)print(np.sum(np.square(a1-b1),axis=1),'7')print(np.sqrt(np.sum(np.square(a1-b1),axis=1)))
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进行累加,其他维度不变 如 a.shape = (1,2,3,4) 则numpy.sum(a,axis = 0).shape = (2,3,4) numpy .sum(a, axis =1).shape = (1,3,4) . .转载地址:https://blog.csdn.net/ImposterSyntrome/article/details/82594497 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月19日 17时10分41秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java同步器之AbstractOwnableSynchronizer详解
2019-04-27
为什么需要学习并发编程?
2019-04-27
Java计算机IT编程文档常见单词翻译
2019-04-27
Java协作中断机制
2019-04-27
MySQL8.0数据库基础教程(二)-理解"关系"
2019-04-27
2020年最新阿里Java面试题,看看你都会了吗?
2019-04-27
大厂业务开发面试必问的UML你都会了吗?
2019-04-27
MySQL8.0关系数据库基础教程(三)-select语句详解
2019-04-27
JVM参数调优基础-参数的类型详解
2019-04-27
大厂都这么使用MySQL8进行条件查询
2019-04-27
SpringCloud微服务实战(十一)-微服务网关及其实现原理(Zuul为例讲解)
2019-04-27
Java程序员求职热点问题总结(持续更新)
2019-04-27
数据结构与算法(一): 动态数组
2019-04-27
MAT启动报错
2019-04-27
Jprofile解析dump文件使用详解
2019-04-27
浅谈代码覆盖率
2019-04-27
Java代码覆盖率历史发展轨迹
2019-04-27
【防止重复下单】分布式系统接口幂等性实现方案
2019-04-27
一图秒懂开源许可证协议-GPL、BSD、MIT、Mozilla、Apache,LGPL
2019-04-27