NumPy 广播:计算两个数组之间的平方差之和

2024-03-02

我有以下代码。在 Python 中这需要很长时间。必须有一种方法可以将此计算转换为广播......

def euclidean_square(a,b):
    squares = np.zeros((a.shape[0],b.shape[0]))
    for i in range(squares.shape[0]):
        for j in range(squares.shape[1]):
            diff = a[i,:] - b[j,:]
            sqr = diff**2.0
            squares[i,j] = np.sum(sqr)
    return squares

您可以使用np.einsum http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.einsum.html计算 a 的差异后broadcasted way http://docs.scipy.org/doc/numpy-1.10.1/user/basics.broadcasting.html,就像这样——

ab = a[:,None,:] - b
out = np.einsum('ijk,ijk->ij',ab,ab)

Or use scipy's cdist http://docs.scipy.org/doc/scipy-0.15.1/reference/generated/scipy.spatial.distance.cdist.html其可选的度量参数设置为'sqeuclidean'为我们提供解决问题所需的平方欧氏距离,如下所示 -

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

NumPy 广播:计算两个数组之间的平方差之和 的相关文章

随机推荐

  • 使用 CATransition 的过渡 CIFilter

    我正在尝试使用CATransition s filter属性与新的 iOS 6 过渡动画 CIBarsSwipeTransition CICopyMachineTransition 等 这CIFilter文档 http developer
  • 如何使表格单元格的内容垂直溢出而不扩大表格单元格的高度?

    我有一个表格单元格div里面 我想要div溢出到表格单元格之外 我怎样才能做到这一点 需要明确的是 我不希望表格单元格随着div 下面的代码是我尝试过的 但它不起作用 HTML table tr class row td class cel
  • 如何在 F# 中使用 WPF 菜单和对话框?

    我一直在尝试寻找使用 XAML 和 F 无需 C 来设置传统菜单和对话框的示例 我在网上能找到的所有内容要么使用 C 要么在最新版本的 F 和 NET 之前就很旧了 谁能建议一个我可以看的例子 谢谢 当您尝试学习 WPF 时 您会遇到许多基
  • 从 C# 中的参数属性访问对象值

    这是我的方法 public Component SaveComponent ValidateMetaFields Component componentToSave 这是我的自定义属性 AttributeUsage AttributeTar
  • 如何从 gRPC 客户端获取状态代码 OK 响应

    当 python 响应成功时 我尝试从 gRPC 中的客户端获取状态代码 与 REST API 类似response status code 200 我需要断言这是一次成功的通话 我尝试通过这样做来解压响应 这是代码结构 不是实际的结构 r
  • Oracle中如何通过SQL获取表注释?

    我试过了 select from user tab comments 它返回 3 列 TABLE NAME TABLE TYPE 和 COMMENTS 但 TABLE NAME 列就像 加密 我需要明确的表名称 TABLE NAME TAB
  • Angular-cli 8 - 是否可以仅在 es2015 上构建?

    在 angular cli 版本 8 中 构建完成了 2 次 一个在 es5 中 一个在 es2015 中 是否可以只在es2015上构建 将目标更改为es5 仅在es5中完成 但我还没有找到仅在es2015中执行此操作的方法 如果您更新您
  • Android 中 onDestroy() 的使用

    如果Java提供了垃圾收集 那么Activity生命周期中还需要onDestroy 吗 onDestroy 您的 Activity 被销毁之前收到的最后一个调用 发生这种情况的原因可能是活动即将完成 有人对其调用 finish 也可能是因为
  • Tensorflow Bow 编码器说明

    有人可以向我解释一下 Tensorflow BoW 编码器正在做什么 返回什么吗 我希望获得每个文档的字数向量 就像在 sklearn 中一样 但是 显然它正在做一些更奇特的事情 在这个例子中 https github com tensor
  • MongoDB Scala - 查询文档中的特定字段值

    所以我知道在 Mongo Shell 中 您可以使用点表示法来获取任何文档中所需的字段 MongoDB Scala 中的点表示法是如何实现的 我对它是如何工作的感到困惑 以下是从集合中获取文档的代码 val record collectio
  • Chrome 扩展本机消息同步

    我在 Windows 上的本机消息同步有问题 我正在尝试同步backgroundPage 和hostApp 之间的消息 通常 我们使用这样的原生消息传递 popup js function appendMessage text docume
  • 由于 SYS_OP_C2C 内部转换,Oracle SQL 执行计划发生变化

    我想知道为什么这个查询的成本 select from address a left join name n on n adress id a id where a street 01 高于 select from address a lef
  • LongListSelector:项目点击?

    我在 Windows Phone 8 上使用 LongListSelector 控件 但无法找出处理项目点击的最佳方法 我发现的几个示例依赖于 SelectionChanged 事件 但是 这个解决方案有问题 因为如果我点击一个打开新页面的
  • 使用 cx_freeze 和 pandas 在 dateutil/zoneinfo 上出现错误 3

    当我尝试使用 cx freeze 编译 hello py 文件时 pandas 0 15 2 出现以下错误 但 0 15 1 没有错误 有人知道如何纠正它吗 我已使用 include files 函数包含 dateutil zoneinfo
  • SVN 是否允许 svn auth 文件规则的路径中存在空白?

    目前 我们遇到了包含空白且属于 svn auth 文件中的规则一部分的目录的问题 因此 我们希望拥有基于路径的授权 并拥有一个包含以下内容的文件 rw junk of me me rw 当我清除身份验证数据并签出存储库的根目录时me 我看到
  • 使用 PHPUnit 测试数组是否包含值

    我创建了这个对象数组 ad 1 new AdUnit array id gt 1 name gt Ad 1 description gt great ad code gt alpha widget id gt 123 ad 2 new Ad
  • 如何计算 Neo4j 中的排名

    我有两种类型的节点 游戏玩家 和一种关系 已玩 PLAYED关系就是拥有一个属性 点 样本数据 玩家 309274 获得10分玩家 309275 获得20分玩家 309276 获得30分玩家 309277 获得40分玩家 309278 获得
  • 使用 long double 或仅使用 double 来计算 pi?

    我正在使用冗长的公式计算 pi 我试图更熟悉浮点数等 我有一个使用双精度数的工作程序 我的代码的问题是 如果我使用双精度数 则 pi 只能精确到小数点后第七位 我无法得到更准确的信息 如果我使用 long double 则 pi 精确到小数
  • 使用 System Groovy 脚本从 Jenkins 工作区读取文件

    我有一个与此非常相似的问题 使用 Groovy 脚本从 Jenkins 中的工作区读取文件 https stackoverflow com questions 22917491 reading file from workspace in
  • NumPy 广播:计算两个数组之间的平方差之和

    我有以下代码 在 Python 中这需要很长时间 必须有一种方法可以将此计算转换为广播 def euclidean square a b squares np zeros a shape 0 b shape 0 for i in range