为什么以下操作数不能一起广播?

2024-01-08

数组的维度如下:dists:(500,5000)train:(5000,)test:(500,)

为什么前两个语句会抛出错误,而第三个语句却可以正常工作?

  1. dists += train + test

Error: ValueError: operands could not be broadcast together with shapes (5000,) (500,)

  1. dists += train.reshape(-1,1) + test.reshape(-1,1)

Error: ValueError: operands could not be broadcast together with shapes (5000,1) (500,1)

  1. dists += train + test.reshape(-1,1)这很好用!

为什么会出现这种情况?


这与 NumPy 的广播规则有关。引用 NumPy 手册:

当操作两个数组时,NumPy 按元素比较它们的形状。它从尾随维度开始,然后向前推进。两个维度兼容时

  1. 它们是相等的,或者
  2. 其中之一是 1

第一个语句会抛出错误,因为 NumPy 查看唯一的维度,并且(5000,) and (500,)不相等,不能一起广播。

在第二个声明中,train.reshape(-1,1)有形状(5000,1) and test.reshape(-1,1)有形状(500,1)。尾随维度(长度一)相等,所以没问题,但随后 NumPy 检查另一个维度并5000 != 500,所以这里广播失败。

在第三种情况下,你的操作数是(5000,) and (500,1)。在本例中,NumPydoes允许广播。一维数组沿着二维数组的尾部 length-1 维度延伸。

FWIW,形状和广播规则有时可能有点棘手,我经常对类似的事情感到困惑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么以下操作数不能一起广播? 的相关文章

随机推荐

  • 加载数据INFILE错误代码:13

    在我的远程 MySQL 中 当我尝试执行此查询时 我收到 MySQL 错误代码 13 Query LOAD DATA INFILE httpdocs testFile csv INTO TABLE table temp FIELDS TER
  • Google Drive API V3 - 推送通知

    从昨天早上开始 我就被谷歌驱动器 API 请求困住了 正如这里所解释的 https developers google com drive api v3 push https developers google com drive api
  • JPA 和泛型

    我想知道带有泛型的抽象类如何处理 JPA 我的意思是该字段需要什么样的注释 考虑这些 MappedSuperclass public abstract class AbstractMyClass
  • 如何在SICStus Prolog中模拟SWI-Prolog的atom_to_term(+Atom, -Term, -Bindings)?

    我正在使用 SICStus Prolog 编写 Dali 代理 我需要将原子转换为术语 但我无法使用atom to term内置于 SWI Prolog Use library codesio http sicstus sics se si
  • Ruby Mechanize、Nokogiri 和 Net::HTTP

    我使用 Net HTTP 进行 HTTP 请求并获取响应 uri URI http www example com http Net HTTP start uri host uri port proxy host proxy port re
  • 将整个 pandas multiIndex 数据框除以数据框变量

    我有一个如下形式的多索引数据框 如何将数据框中的所有值除以 df 三 one two three Number 1 2 3 1 2 3 1 2 3 Name grethe 0 299 1 444 0 920 1 378 0 376 0 39
  • 在groovy中读取Excel文件的最简单方法?

    是否有任何 warappers utils 可用于读取 Groovy 中的 Excel 文件 我正在寻找类似于 Groovy SQL 的东西rows功能如下面的 spock 测试示例所示 我的目的是用这个Spock 测试框架中使用 exce
  • 在 iOS 上签名的数据无法在 Java 中验证

    我有一些要在 iOS 上签名的数据SecKeyRawSign使用椭圆曲线私钥 但是 使用 Java 验证数据Signature verify 回报false 数据是一个随机的 64 位整数 像这样分成字节 uint64 t nonce so
  • python 3.6 multiprocessing.Pool() 使用 Windows 启动非常慢

    在 Windows 10 AMD Threadripper 16 核 CPU 64 GB RAM 快速 SSD 上运行 Python 3 6 4 64 位 在我开始此测试之前 没有其他任何东西正在运行 任何修复 解决方法 想法或解释将不胜感
  • Django 模板 - 将字符串拆分为数组

    我有一个模型字段 它存储 URL 列表 是的 我知道 这是错误的方式 作为url1 nurl2 nurl3 lt gt 我需要在模板中将字段拆分为数组 因此我创建了自定义过滤器 register filter name split def
  • 如何从命令 Visual Studio Extension 2017 获取 IWpfTextView

    我需要使用 TextViewAdornment 显示弹出窗口 它需要 IWpfTextView 有旧代码 private IWpfTextView GetWpfTextView IVsTextView vTextView IWpfTextV
  • 如何在代理后面使用捆绑器?

    我从以下输出中得到须藤捆绑安装命令 Fetching source index for http rubygems org Could not reach rubygems repository http rubygems org Coul
  • 在 Matlab 中交换 x 和 y 轴

    这里可能是简单的 matlab 问题 但我已经搜索过但无法弄清楚如何做到这一点 I ve got a variables which plot like this 我只是希望 x 轴成为 y 轴 反之亦然 我该如何交换它们 预先感谢您的帮助
  • 使用 ASP.NET MVC 5 和 Bootstrap 3 默认安装时,为什么样式会出现 403 错误,而字体会抛出 404 错误?

    使用默认安装的 ASP NET MVC 5 和更新的 Bootstrap 3 加载我的项目主页不会显示 CSS 样式或包含的字体字形 404 文件未找到错误 CSS 样式在 Content css 地址处收到 403 禁止查看文件夹内容 错
  • Hibernate二级缓存<>

    我想在我的 hibernate 项目中使用二级缓存 但我只了解一点关于 hibernate 二级缓存的知识 任何人都可以解释我应该如何在我的代码中使用它以及我需要什么配置和 jar 文件吗 我将这些设置设置为 hibernate cfg x
  • Scala 任务返回映射

    我有一种方法 readHeader 接受一个参数并返回任务 列表 标题 另一个方法调用多个 id 并返回列表 任务 列表 设备标题 如何退货任务 列表 列表 标题 兼容多id读取功能 trait M1 def readHeader id S
  • 当元素启用/禁用时触发函数

    这似乎是一件相对简单的事情 但我在任何地方都找不到关于如何做到这一点的任何信息 我有一个模式 在等待异步数据时打开并禁用输入 我想知道该输入何时启用 以便我可以集中输入 这就是我正在努力实现的目标 将其视为全局模式打开处理程序 modal
  • C语言中当前的微秒时间?

    如何在 Unix 平台上用 C 打印当前微秒时间 在 Linux 和 BSD 中 您可以使用gettimeofday 功能 这填充了一个timevalstruct 它有一个自纪元以来的秒字段和一个微秒字段 该函数已被弃用 分辨率越高时钟获取
  • PyQt5 图像和 QGridlayout

    我有一个小部件 它想要显示图像QLabel and QCheckBox 创建了 4 个类 每个类都包含一些要放在最终屏幕上的信息 Class Grid对齐和网格图像 文本和复选框 脚本运行后获取当前屏幕 当前小部件中没有出现图像 图像在哪里
  • 为什么以下操作数不能一起广播?

    数组的维度如下 dists 500 5000 train 5000 test 500 为什么前两个语句会抛出错误 而第三个语句却可以正常工作 dists train test Error ValueError operands could