Python NumPy 广播(Broadcasting)
1、广播的规则
NumPy 广播是 NumPy 中的一个重要概念,它允许两个形状不同的数组进行运算。两个数组的后缘维度相同,或者在其中一方的维度为1。广播在缺失或者长度为1的维度上补充。
1)后缘维度
如果两个数组的后缘维度相同,则可以直接进行广播,无需进行任何扩展。
A为(3,4,5)的三维数组,B为(4,5)的二维数组。由于A和B的后缘维度都为(4,5),所以可以进行广播。
使用示例:Python NumPy 广播(Broadcasting)A为(2,3)的二维数组,B为(3,)的1为数组,后缘维度都是3,所以可以进行广播。
使用示例:Python NumPy 广播(Broadcasting)2)其中一方维度为1
如果两个数组的后缘维度不同,但其中一方维度的长度为 1,则另一方维度会被拉伸为与其相同的长度。
A为(4,5)的二维数组,B为(4,1)的二维数组,两者维度相同, B的数组中一个维度元素个数为1。
使用示例:Python NumPy 广播(Broadcasting)A为(4,5)的二维数组,B为(1,5)的二维数组,两者维度相同, B的数组中一个维度元素个数为1。
使用示例:Python NumPy 广播(Broadcasting)A为(4,5)的二维数组,B为(1,1)的二维数组,两者维度相同, B的数组中一个维度元素个数为1。
使用示例:Python NumPy 广播(Broadcasting)A为(4,5)的二维数组,B为(1,)的二维数组,两者维度相同, B的数组中一个维度元素个数为1。
使用示例:Python NumPy 广播(Broadcasting)2、广播的示例
广播机制可以应用于 NumPy 数组的各种运算,包括加法、减法、乘法、除法、比较运算、逻辑运算等。
1)向量与标量的运算
使用示例:Python NumPy 广播(Broadcasting)
2)二维数组与一维数组的运算
使用示例:Python NumPy 广播(Broadcasting)
3、广播的好处
广播机制可以让 NumPy 数组的运算更加灵活和高效,避免了需要对数组进行 reshape 操作的麻烦。理解和正确使用广播可以极大地提高数据处理和分析的效率。
1)内存高效
广播避免了不必要的内存分配,只是在算法层面上扩展较小的数组。
2)性能优化
广播可以减少大量数据的复制,提高计算性能。
3)代码简洁
可以直接对不同形状的数组进行运算,而不需要显式地调整它们的形状。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现