numpy学习笔记-广播

import numpy as np
x = np.random.randint(low=1, high=10, size=5)
y = np.random.randint(low=1, high=10, size=5)
print('x:', x)
print('y:', y)

数组相加

x = np.random.randint(low=1, high=10, size=5)
y = np.random.randint(low=1, high=10, size=5)
print('x:', x)
print('y:', y)

广播一维数组

z = np.random.randint(low=1, high=10, size=15).reshape(3, 5)
print('x:', x)
print('z:\n', z)
print('x+z:\n', x + z)

行向量+列向量=被广播,成为一个数组:

print('y:', y)
yy = y[:, np.newaxis]
print('yy:\n', yy)
print('yy+y:\n', yy + y)

广播规则

  1. 小维度的数组被补1
  2. 维度为1的方向被扩展
  3. 无法广播:2*3+1*5

无法广播实例:

mm = np.ones(6)     //6*6
nn = np.eye(5, 5)   //5*5
print('mm:\n', mm)
print('nn:\n', nn)
print(mm + nn)

 

广播的应用:归一化

归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。 

print('z:\n', z)
z_mean = np.mean(z, axis=0)                 # 求均值
print('对z的每一列求均值:\n', z_mean)
z_centered = z - z_mean                     # 归一化函数
print('z的归一化:\n', z_centered)
print('判断归一化效果:第一列均值接近0:\n', np.mean(z_centered, axis=0))

使用掩码索引

print(z[z < 10])

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值