NumPy 教程 之 NumPy 广播(Broadcast) 3

简介: 本教程详细解析了NumPy中的广播(Broadcast)机制。当对形状不同的数组执行运算时,NumPy会自动扩展数组的维度以匹配形状较大的数组。例如,一个4x3的二维数组与一个3元素的一维数组相加时,一维数组会在垂直方向复制四次,使得每个元素与二维数组相应位置的元素进行逐个运算,实现高效灵活的数组运算。

NumPy 教程 之 NumPy 广播(Broadcast) 3

NumPy 广播(Broadcast)

广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。

如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同。

4x3 的二维数组与长为 3 的一维数组相加,等效于把数组 b 在二维上重复 4 次再运算:

实例

import numpy as np

a = np.array([[ 0, 0, 0],
[10,10,10],
[20,20,20],
[30,30,30]])
b = np.array([1,2,3])
bb = np.tile(b, (4, 1)) # 重复 b 的各个维度
print(a + bb)

输出结果为:

[[ 1 2 3]
[11 12 13]
[21 22 23]
[31 32 33]]

目录
相关文章
|
机器学习/深度学习 数据采集 人工智能
|
数据处理 索引 Python
使用pandas的merge()和join()函数进行数据处理
使用pandas的merge()和join()函数进行数据处理
395 2
|
12月前
|
算法 数据挖掘 索引
Pandas数据排序:单列与多列排序详解
本文介绍了Pandas库中单列和多列排序的方法及常见问题的解决方案。单列排序使用`sort_values()`方法,支持升序和降序排列,并解决了忽略大小写、处理缺失值和索引混乱等问题。多列排序同样使用`sort_values()`,可指定不同列的不同排序方向,解决列名错误和性能优化等问题。掌握这些技巧能提高数据分析效率。
561 9
|
11月前
|
机器学习/深度学习 自然语言处理 算法
大语言模型中常用的tokenizer算法
不同算法有各自的适用场景和优缺点,选择时应根据具体需求和数据特点进行综合考虑。通过本文的介绍,希望您能更好地理解和应用这些tokenizer算法,从而提升NLP任务的效果和效率。
988 9
|
druid Java Maven
|
存储 物联网 数据安全/隐私保护
Docker安装Mosquitto
这篇文章详细介绍了如何在Docker中安装和配置Mosquitto消息代理服务,包括拉取镜像、创建容器以及配置持久化存储等步骤。
1583 0
Docker安装Mosquitto
|
Python
在dataframe中插入新的一列
在pandas中,可以使用`insert`函数在dataframe中插入新的一列。以下是一个例子:
489 0
|
Java Shell Python
【经验分享】Typora 设置代码块的默认语言并设置为开机启动
在Typora中设置代码块默认语言为Java(或其他语言)的自动化方法。通过下载AHK(AutoHotkey)软件,创建一个.ahk脚本,设定`Ctrl+Shift+K`快捷键触发代码块并输入指定语言。将脚本改名为.ahk扩展名并运行,确保图标出现在任务栏。要实现开机启动,使用Win+R打开"运行",输入shell:startup并粘贴.ahk文件到启动文件夹。
915 2
|
机器学习/深度学习 自然语言处理 前端开发
深度学习-[源码+数据集]基于LSTM神经网络黄金价格预测实战
深度学习-[源码+数据集]基于LSTM神经网络黄金价格预测实战
688 0