import numpy as np报错_NumPy 广播

本文介绍了NumPy中数组运算的广播机制,当两个形状不同的数组进行运算时,NumPy会尝试广播较小数组的形状以匹配较大数组。广播遵循特定规则,包括补1、扩展维度等,以使运算合法。若无法广播,则会引发错误。通过示例解释了广播如何工作,并展示了广播成功的和失败的案例。
摘要由CSDN通过智能技术生成

NumPy中,有时两个不同形状的数组之间需要进行运算。

考虑下面的例子。

示例

两个形状相同的数组相乘:

import 

输出

[ 2  8 18 32 50 72 98]

示例

两个形状不相同的数组相乘:

import 

输出

ValueError: operands could not be broadcast together with shapes (7,) (8,)

上面的例子中,两个数组的形状不同,不能相乘。

NumPy中,要在两个不同形状数组之间进行运算,Python会尝试使用广播机制,广播需要符合一定条件,如果不能广播,则报错。

广播的作用是,把较小数组的形状扩展成与较大数组一致,以便进行运算。

广播的规则

广播机制遵循下列规则:

  1. 如果两个数的维度数不同,那么小维度数组的形状将会在最左边补1。
  2. 如果两个数组的形状在任何一个维度都不匹配,那么数组的形状会沿着维度为1的维度扩展,以匹配另外一个数组的形状。
  3. 如果两个数组的形状在任何一个维度上都不匹配并且没有任何一个维度等于1,那么会引发异常。

让我们看两个个广播的例子。

示例

import 

输出

[[1. 2. 3.]
 [1. 2. 3.]]

示例

两个数组均需要广播的示例:

import 

输出

[[0 1 2]
 [1 2 3]
 [2 3 4]]

c8eb91fa05d46350fe98de8a8bc535c9.png

Python Numpy 教程 | 奇客谷教程​www.qikegu.com

章节

  • Numpy 介绍
  • Numpy 安装
  • NumPy ndarray
  • NumPy 数据类型
  • NumPy 数组创建
  • NumPy 基于已有数据创建数组
  • NumPy 基于数值区间创建数组
  • NumPy 数组切片
  • NumPy 广播
  • NumPy 数组迭代
  • NumPy 位运算
  • NumPy 字符串函数
  • NumPy 数学函数
  • NumPy 统计函数
  • NumPy 排序、查找、计数
  • NumPy 副本和视图
  • NumPy 矩阵库函数
  • NumPy 线性代数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值