Numpy广播功能
广播(Broadcast)是对不同形状(shape)的数组进行数值计算的方式。
广播规则:
- 如果两个数组的维度数不相同,那么小维度数组的形状将会在最左边补1;
- 如果两个数组的形状在任何一个维度都不匹配,那么数组的形状会沿着维度为1的维度扩展以匹配另外一个数组的形状;
- 如果两个数组的形状在任何一个维度上都不匹配并且没有任何一个维度等于1,那么会引出异常。

In [1]: import numpy as np
#相同形状数组数值计算时,数组内元素逐个加减
In [2]: a = np.array([0,1,2])
In [3]: b = np.array([0,1,2])
In [4]: a + b
Out[4]: array([0, 2, 4])
#5扩展成[5,5,5]与a形状一致后分别相加
In [5]: a + 5
Out[5]: array([5, 6, 7])
#x从(1,3)、y从(3,1)都扩展成(3,3)后相加
In [7]: x = np.arange(3)
In [8]: y = np.arange(3)[:,np.newaxis]
In [9]: x
Out[9]: array([0, 1, 2])
In [10]: y
Out[10]:
array([[0],
[1],
[2]])
In [11]: x + y
Out[11]:
array([[0, 1, 2],
[1, 2, 3],
[2, 3, 4]])
广播的归一化应用
#x为(10,3)数组
In [12]: x = np.random.random((10,3))
In [13]: x
Out[13]:
array([[0.05404783, 0.76923374, 0.65853154],
[0.08907194, 0.01900223, 0.04000283],
[0.72521795, 0.09186224, 0.67457589],
[0.41700931, 0.42471439, 0.94748451],
[0.95439046, 0.96458199, 0.01966024],
[0.31656808, 0.74726154, 0.22988047],
[0.70578412, 0.04238469, 0.66419186],
[0.1228215 , 0.09629365, 0.09550091],
[0.51172621, 0.96489282, 0.32432765],
[0.69833444, 0.19646535, 0.1527003 ]])
In [14]: x_mean = np.mean(x,axis=0)
In [15]: x_mean
Out[15]: array([0.45949718, 0.43166926, 0.38068562])
#x_mean从(1,3)扩展成(10,3)
In [16]: x_centered = x-x_mean
#归一化值(实际值-平均值)
In [17]: x_centered
Out[17]:
array([[-0.40544935, 0.33756448, 0.27784592],
[-0.37042524, -0.41266704, -0.34068279],
[ 0.26572077, -0.33980702, 0.29389027],
[-0.04248787, -0.00695488, 0.56679889],
[ 0.49489328, 0.53291272, -0.36102538],
[-0.1429291 , 0.31559228, -0.15080515],
[ 0.24628693, -0.38928457, 0.28350624],
[-0.33667569, -0.33537562, -0.28518471],
[ 0.05222903, 0.53322355, -0.05635797],
[ 0.23883725, -0.23520391, -0.22798532]])
In [18]: x_centered.mean(0)
Out[18]: array([-1.11022302e-17, -4.44089210e-17, 2.77555756e-17])
Numpy广播功能的更多相关文章
- [开发技巧]·Numpy广播机制的深入理解与应用
[开发技巧]·Numpy广播机制的深入理解与应用 1.问题描述 我们在使用Numpy进行数据的处理时,经常会用到广播机制来简化操作,例如在所有元素都加上一个数,或者在某些纬度上作相同的操作.广播机制很 ...
- NumPy 广播(Broadcast)
NumPy 广播(Broadcast) 广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行. 如果两个数组 a 和 b ...
- numpy广播机制,取特定行、特定列的元素 的高级索引取法
numpy广播机制,取特定行.特定列的元素 的高级索引取法 enter description here enter description here
- 初探numpy——广播和数组操作函数
numpy广播(Broadcast) 若数组a,b形状相同,即a.shape==b.shape,那么a+b,a*b的结果就是对应数位的运算 import numpy as np a=np.array( ...
- 快来,Boom 3D广播功能还能这样用
Boom 3D不仅为用户提供了包括3D立体音效.古典音乐音效在内的多种音效增强功能,而且还为用户提供了广播功能.该广播功能不仅涵盖了国内广播节目,而且还涵盖了国际广播节目. Boom 3D的广播功能还 ...
- NumPy 广播机制(Broadcasting)
一.何为广播机制 a.广播机制是Numpy(开源数值计算工具,用于处理大型矩阵)里一种向量化数组操作方法. b.Numpy的通用函数(Universal functions) 中要求输入的两个数组sh ...
- numpy广播
(m,n) +,-,*,/ (m,1) 先将(m,1)复制n次,构成(m,n)矩阵,然后再进行+,-,*,/运算 (m,n) +,-,*,/ (1,n) 先将 (1,n)复制m次,构成(m ...
- 7、numpy——广播
1.广播的引出 广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行. 如果两个数组 a 和 b 形状相同,即满足 a. ...
- 吴裕雄--天生自然Numpy库学习笔记:NumPy 广播(Broadcast)
广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行. 如果两个数组 a 和 b 形状相同,即满足 a.shape == ...
- Numpy 广播(Broadcast)
广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式,对数组的算术运算通常在相应的元素上进行. 如果两个数组 a 和 b 形状相同,即满足a.shape == b ...
随机推荐
- Oracle 插入数据报错 ORA-00918
1. 报错内容 ErrorCode = 918, SQLState = 23000, Details = ORA-00918: column 'TO_DATE('2023-12-1809:13:45' ...
- 【Azure K8S | AKS】在AKS中创建 StatefulSet 示例
问题描述 [Azure K8S | AKS]在AKS集群中创建 PVC(PersistentVolumeClaim)和 PV(PersistentVolume) 示例 [Azure K8S|AKS]进 ...
- Java //100以内的质数的输出(从2开始,到这个数-1结束为止,都不能被这个数本身整除)+优化
1 //100以内的质数的输出(从2开始,到这个数-1结束为止,都不能被这个数本身整除) 2 boolean isFlag = true; //标识i是否被j除尽,修改其值 3 4 for(int i ...
- 搭建一个Java项目可直接拿去使用的通用工具类
1.通用枚举类 import lombok.Getter; /** * @Description 状态码定义约束,共6位数,前三位代表服务,后3位代表接口 * 比如 商品服务210,购物车是220.用 ...
- foundation部分学习记录(更正更新中……)
foundation部分学习记录(更新中--) 从FDB的角度看,它对上层只提供有序+事务+KV存储的抽象. 设计原则 模块化分割,尽量细分且模块之间相互解耦 例如事务系统内,其提交(write pa ...
- GoLand打开后Project消失
一直用的好好的Goland,突然不能用了,左边栏Project"消失"了. 如下: 解决方法 遇到上面问题,一般情况是GoLand的cache问题,这个时候要将GoLand清理一下 ...
- Educational Codeforces Round 141:B. Matrix of Differences
一.来源:Problem - B - Codeforces 二.题面 三.思路 我们先从一维思考如何构造尽可能多的数值差.以n=2为例,此时有1,2,3,4数,其中构成差值为3的方案有一个1,4,构成 ...
- JB一键重置
版本名 版本号 更新时间 更新内容 更新地址 v1.1 2 2020-12-26 在线下载失败的请访问shop.stars-one.site,使用软件找回手动下载\n1.修复bug\n2.修复在线更新 ...
- MySql注入—DNS注入
MySql注入-DNS注入 1.DNS注入原理 一.DNS注入原理 DNS注入,是通过查询相应DNS解析产生的记录日志来获取想要的数据 对于sql盲注这样的方法常常用到二分法,非常麻烦而且没有回显,要 ...
- jquery之ajax中文乱码解决方案
$.ajax({ dataType : 'json',type : 'POST',url : 'http://localhost/test/test.do',data : {id: 1, type: ...