numpy沿任意轴广播加法

2024-03-09

我想通过简单地沿一个或多个轴执行相同的加法来添加两个不同维度的数组。

非矢量化解决方案:

x = np.array([[[1,2],[3,4],[5,6]],[[7,8],[9,0],[1,2]],[[3,4],[5,6],[7,8]],[[9,0],[1,2],[3,4]]]) #shape (4,3,2)
y = np.array([[1,2],[3,4],[5,6],[7,8]]) #shape (4,2)

ans = np.copy(x)
for i in range(x.shape[1]):
    ans[:,i] += y

print(ans) #shape (4,3,2)

我如何沿着(例如)第二个轴广播它?更一般地说,我怎样才能沿着任意轴进行广播?


看看两个数组的形状:

>>> x.shape
(4, 3, 2)
>>> y.shape
(4, 2)

您会看到,添加需要沿着此处的第 0 个轴和最后一个轴广播。一个简单的选择是

>>> x + y[:, None, :] 
array([[[ 2,  4],
        [ 4,  6],
        [ 6,  8]],

       [[10, 12],
        [12,  4],
        [ 4,  6]],

       [[ 8, 10],
        [10, 12],
        [12, 14]],

       [[16,  8],
        [ 8, 10],
        [10, 12]]])

Where,

>>> y[:, None, :].shape
(4, 1, 2)

这实际上只是改变了步伐y所以添加的内容可以被广播。


更好的是,使用np.expand_dims正如 hpaulj 在评论中所建议的,这将添加一个额外的倒数第二个维度,所以你可以这样做

>>> x + np.expand_dims(y, 1)
array([[[ 2,  4],
        [ 4,  6],
        [ 6,  8]],

       [[10, 12],
        [12,  4],
        [ 4,  6]],

       [[ 8, 10],
        [10, 12],
        [12, 14]],

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

numpy沿任意轴广播加法 的相关文章

  • Python3 类型错误:replace() 参数 1 必须是 str,而不是 int

    我已经尝试了几天让这段代码在 MacOS 上运行 但没有成功 你能看一下我错过了什么吗 运行 python 3 6 我已经上传了整个代码 多谢 usr bin env python3 from future import print fun
  • 每个刻度标签都有不同的颜色

    我正在尝试使用 matplotlib python 3 5 创建一个散点图 其中 x 轴上的每个刻度都有不同的颜色 这怎么可能 例如 假设 x 刻度为 Mo Tu We Th Fr Sa Su 现在我希望 Mo 是绿色的 Tu 是蓝色的 等
  • 通过 rpy 将 SPSS 文件(.sav)导入 pandas 时如何保留标签?

    我正在寻找使用 SPSS 文件 sav pandas 在没有 SPSS 程序的情况下 典型文件转换为 csv 后的样子如下 在调查前两行的含义时 我不知道 SPSS 似乎第一行包含Labels 而第二行包含VarNames 当我将文件带入
  • 在 python 中查找价格动量的有效方法:对列的最后 n 个条目求平均值

    我正在定义价格动量是给定股票过去动量的平均值n days 反过来 动量是一种分类 如果当天的收盘价高于前一天 则每天标记为 1 如果当天的收盘价低于前一天 则标记为 1 我的库存变化百分比如下 df close in percent np
  • 从内存中发送图像

    我正在尝试为 Discord 机器人实现一个系统 该系统可以动态修改图像并将其发送给机器人用户 为此 我决定使用 Pillow PIL 库 因为它对于我的目的来说似乎简单明了 这是我的工作代码的示例 它加载一个示例图像 作为测试修改 在其上
  • argparse 更改参数的定义

    我按如下方式设置参数解析器 parser argparse ArgumentParser parser add argument point help enter a point e g 2 3 4 parser parse args po
  • 在我的 Mac 上以 root 身份运行 pip 时出现“权限被拒绝”

    我开始使用我的 Mac 来安装 Python 包 就像我在工作中使用 Windows PC 一样 然而在我的 Mac 上我经常遇到没有权限写入日志文件或站点包时出错 于是我想到了跑步pip install
  • 如何在 Django 1.4 中自定义管理过滤器

    我是 Python 和 Django 开发的新手 我从社区提供的易于阅读的示例中学到了很多东西 但最近我想为 Django 附带的管理控制台实现一个自定义的管理过滤器 我进行了很多搜索 只发现了一些过时的方法来完成它 例如 Django 1
  • 带有redirect_uri的social-auth-app-django Facebook后端状态

    我知道我的问题听起来像是重复的 但我到处寻找但没有找到任何解决方案 我正在努力为我的 django web 应用程序实现社交登录 到目前为止 谷歌 推特和雅虎登录均按预期工作 但facebook总是给出以下错误 URL 被阻止 此重定向失败
  • 我无法设置顶级标题

    我想为 TopLevel 设置标题 但 TopLevel 显示 Root 的标题 我认为我的下一个脚本与 TkInter 文档中的示例相对应 但给了我不好的结果 你能解释一下 为什么我的设置master title 顶部 in 应用程序顶部
  • Python 用静态图像将 mp3 转换为 mp4

    我有x文件包含一个列表mp3我想转换的文件mp3文件至mp4文件带有static png photo 似乎这里唯一的方法是使用ffmpeg但我不知道如何实现它 我编写了脚本来接受输入mp3文件夹和一个 png photo 然后它将创建新文件
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • Django admin.py 未知命令:'collectstatic'

    我已经从 django 1 2 7 升级到 django 1 5 1我正在使用 python 2 6 6当我尝试跑步时python manage py collectstatic i get 未知命令 collectstatic 从我的设置
  • Python:如何对数组 X 进行排序,但对 Y 进行相同的相对排序?

    例如 X 5 6 2 3 1 Y 7 2 3 4 6 我对X进行排序 X 1 2 3 5 6 但我希望对 Y 应用相同的相对排序 以便数字保持与以前相同的相对位置 Y 6 3 4 7 2 我希望这是有道理的 通常 你会做一个zip sort
  • 使用枚举名称而不是值对 Pydantic 字段进行编码

    我有一个枚举类 class Group enum Enum user 0 manager 1 admin 2 我有一个 pydantic 模型 class User BaseModel id int username str group G
  • 访问 Scrapy 内的 django 模型

    是否可以在 Scrapy 管道内访问我的 django 模型 以便我可以将抓取的数据直接保存到我的模型中 我见过this https scrapy readthedocs org en latest topics djangoitem ht
  • gstreamer 中的无缝视频循环

    我正在尝试使用 gstreamer 循环播放视频 它是 python 绑定 第一次尝试是hook EOSmessage并为管道生成搜索消息 import gi gi require version Gst 1 0 from gi repos
  • 在Python中通过sys.stdout写入unicode字符串

    暂时假设一个人无法使用print 从而享受自动编码检测的好处 所以这给我们留下了sys stdout 然而 sys stdout太蠢了不做任何合理的编码 http bugs python org issue4947 现在人们阅读 Pytho
  • 使用 pyspark 计算所有可能的单词对

    我有一个文本文档 我需要找到整个文档中重复单词对的可能数量 例如 我有下面的word文档 该文档有两行 每行用 分隔 文档 My name is Sam My name is Sam My name is Sam My name is Sa
  • Pandas:如何删除以 nan 作为列名的多个列?

    根据标题 这是一个可重现的示例 raw data x this that this that this np nan np nan np nan np nan np nan np nan y np nan np nan np nan np

随机推荐

  • 暂停播放时 MPNowPlayingInfoCenter 未正确反应

    我试图让 MPNowPlayingInfoCenter 在暂停播放时正常工作 我有一个使用 AVPlayer 进行播放的流媒体音乐应用程序 并且我正在通过 Airplay 在 Apple TV 中播放 除了暂停之外的所有内容似乎都在 App
  • 理解此警告:可序列化类未声明静态最终serialVersionUID

    我有一些静态初始化代码 someMethodThatTakesAHashMap new HashMap
  • 在 R 中保留 dcast 中的变量

    我正在使用dcastR 中的函数将长格式数据集转换为宽格式数据集 我有一个ID数字 一个分类变量 CAT 和一个连续变量 AMT 但是 我还有一个变量SEX 对于给定的所有行都是相同的ID数字 这段代码可以创建宽格式数据集 但我输了SEX
  • SwiftUI navigationBarItems 在 TabView 中消失

    我有一个包含导航栏项目的视图 并将该视图嵌入到TabView 但这样做时 栏项目不再出现 如果我在 a 之外调用视图TabView一切都按预期进行 下面是一个小示例项目来说明我的问题 请注意TabView最初没有被调用ContentView
  • 如何在 Vue js 中使 localStorage 中的数据响应

    我在 Vue js 项目中使用 localStorage 作为数据源 我可以读写 但找不到反应性使用它的方法 我需要刷新才能看到我所做的任何更改 我使用数据作为多个组件的道具 当我写入时localStorage从我触发的组件forceUpd
  • C++ 中的 HMAC SHA256 (DynamoDB)

    我正在尝试通过 REST Web API 连接到 DynamoDB 它要求我使用 HMAC SHA256 生成签名 我已经让 SHA 256 工作了 但我似乎无法让 HMAC 工作 这里是 C 代码 使用 OpenSSL string hm
  • Kotlin 中 open 和 override 方法之间的区别?

    open class Base open fun v fun nv class Derived Base override fun v 这是一个例子 有人可以解释一下区别吗 这里 open 关键字是强制性的吗 是的 两者都有open在您的示
  • 如何使用异步方法加载数据库数据并保持 UI 响应

    我制作了一个运行良好的大型应用程序 除了它的 UI winforms 在使用 webclient 从 web 检索数据时冻结 链接是嗯 不是最快的 或者从数据库检索查询的数据连接 这是存储在一个遥远 缓慢的服务器中 无法避免它 因此 我想到
  • UDP 服务器套接字缓冲区溢出

    我正在 Linux 上编写 C 应用程序 我的应用程序有一个 UDP 服务器 它在某些事件上向客户端发送数据 UDP 服务器还接收来自客户端的一些反馈 确认 为了实现这个应用程序 我使用了一个 UDP 套接字 例如int fdSocket
  • Win Vista/7 下的 WriteFile 错误#5“拒绝访问”

    我有一个 C 控制台应用程序 可以读取 1GB SD 卡 修复不正确关闭的文件并相应地写入 FAT 表 SD 卡一开始是由定制设备中的固件写入的 它在 Xp 之前工作正常 在 Win Vista 7 中停止工作 我尝试提升权限 在管理员帐户
  • Symfony 2 根据用户代理属性加载不同的模板

    是否有可能 以及如何 确定用户是否正在使用移动设备 在这种情况下强制 symfony 2 加载不同的模板 并回退默认的 html 模板 id 喜欢做的是 在不修改任何控制器的情况下加载不同的模板 UPDATE 真正的问题不是检测部分 它实际
  • 我的 iPhone 应用程序使用了多少内存(来自模拟器)

    我知道这与 Instruments 有关 但这有点令人困惑 并且在 Google 上搜索 Instruments 并没有多大帮助 我想知道我的应用程序运行情况如何 例如它使用了多少内存 我只是不知道在哪里可以找到类似的东西 据我们从模拟器中
  • Postgres COPY TO NULL 整数

    我有一个包含各种列的 CSV 其中一列包含整数数据 但是 当运行副本时 COPY soc FROM soc asc WITH DELIMITER 我得到以下信息 ERROR invalid input syntax for integer
  • ANTLR4 将 ParserRuleContext 树展平为数组

    如何压平一个ParserRuleContext将子树放入令牌数组中 这ParserRuleContext getTokens int ttype 看起来不错 但什么是ttype 是token类型吗 如果我想包含所有令牌类型 应使用什么值 P
  • 如何在 C# 中从两个列表创建单个对象对列表?

    我有两个对象列表 列表 A 和列表 B 我需要创建列表 C 将列表 A 和列表 B 组合成对 例如 List A object a1 object a2 object a3 List B object b1 object b2 object
  • 在命令行中在Kafka中创建多个消费者

    我是卡夫卡的新手 当我在命令行中运行快速启动示例时 我发现无法在命令行中创建多个使用者 健康 状况 我构建了一个名为 test 的主题 包含 3 个分区 并且还针对该主题构建了一个生产者 然后我想创建两个不同的消费者 共享关于此主题的名为
  • 格式化输出字符串,右对齐

    我正在处理包含坐标 x y z 的文本文件 1 128 1298039 123388 0 2 每行被分隔为 3 个项目 使用 words line split 处理数据后 我需要将坐标写回到另一个 txt 文件中 以便每列中的项目右对齐 以
  • Vimeo 视频链接正则表达式

    有人得到了 vimeo 视频链接的正则表达式 可以从段落中提取它们以在 php 中使用吗 似乎无法找到适合最新 vimeo url 方案的合适方案 Vimeo 有 4 个不同的公共视频链接 视频IDvimeo com Video ID 渠道
  • GRPC - .IllegalArgumentException:Jetty ALPN/NPN 尚未正确配置

    我正在尝试在 pod 上的 docker 容器中启用 TLS 来启动 GRPC 服务器 但在服务器启动期间出现以下错误 我正在尝试参考https github com grpc grpc java blob master SECURITY
  • numpy沿任意轴广播加法

    我想通过简单地沿一个或多个轴执行相同的加法来添加两个不同维度的数组 非矢量化解决方案 x np array 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 shape 4 3 2 y np a