Numpy、Python:广播时自动扩展数组维度

2024-06-26

考虑以下 Numpy 数组广播练习。

import numpy as np
v = np.array([[1.0, 2.0]]).T # column array

A2 = np.random.randn(2,10) # 2D array
A3 = np.random.randn(2,10,10) # 3D

v * A2 # works great

# causes error: 
v * A3 # error

我知道 Numpy 的广播规则,并且熟悉bsxfunMatlab 中的功能。我理解为什么尝试将 (2,1) 数组广播到 (2,N,N) 数组会失败,并且在此之前我必须将 (2,1) 数组重塑为 (2,1,1) 数组广播通过。

我的问题是:有没有办法告诉Python在尝试广播时自动填充数组的维数,而无需我专门告诉它必要的维数?

I 不想明确耦合(2,1) 向量和它将被广播的多维数组——否则我可以做一些愚蠢和丑陋的事情,比如mult_v_A = lambda v,A: v.reshape([v.size] + [1]*(A.ndim-1)) * A。我提前不知道“A”数组是 2D、3D 还是 N 维。

MATLAB的bsxfun广播功能会根据需要隐式填充维度,所以我希望我可以在 Python 中做一些事情。


这很丑陋,但这会起作用:

(v.T * A3.T).T

如果您不给它任何参数,转置会反转形状元组,因此您现在可以依靠广播规则来发挥其魔力。最后一次转置将所有内容恢复到正确的顺序。

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

Numpy、Python:广播时自动扩展数组维度 的相关文章

  • Django 1.6:清除一张表中的数据

    我有一个名为 UGC 的表 想要清除该表中的所有数据 我不想重置整个应用程序 这也会删除所有其他模型中的所有数据 是否可以只清除一个模型 我还为我的应用程序配置了 South 如果这有帮助的话 你可以使用原始 SQL https docs
  • Python Flask 删除请求

    我正在开发一个 Python 应用程序并使用 Flask 这是我的 DELETE 函数 app route DeleteMessage methods DELETE def DeleteMessage messages Message qu
  • 使用 setuptools (pip) 时如何打印警告和错误

    我正在使用 setuptools 来打包代码 以便可以使用以下命令轻松安装它 cd project name pip install 在设置过程中 我想警告用户有关预先存在的配置文件的信息 并在系统上打印一些安装后说明 例如 etc pro
  • Python TypeError:不支持的操作数类型 -:“int”和“function”

    我是 Python 初学者 正在做一项作业 我不断得到TypeError unsupported operand type s for int and function 即使在研究了错误并应用了建议的修复之后 我并不是在寻找任何人给我一个解
  • Django CollectStatic 启动大文件上传时管道损坏

    我正在尝试使用collectstatic将静态文件上传到我的S3存储桶 但我收到一个700k javascript文件的管道损坏错误 这就是错误 Copying Users wedonia work asociados server aso
  • 在 Python 中解压存档时出现错误

    我使用 Python 下载 bz2 文件 然后我想使用以下方法解压存档 def unpack file dir file cwd os getcwd os chdir dir print Unpacking file s file cmd
  • 为什么 scikit-learn SVM.SVC() 非常慢?

    我尝试使用SVM分类器来训练大约10万个样本的数据 但我发现它非常慢 甚至两个小时后也没有任何反应 当数据集有大约 1k 个样本时 我可以立即得到结果 我还尝试了 SGDClassifier 和朴素贝叶斯 速度相当快 几分钟内就得到了结果
  • 为什么我的字符串中出现不需要的换行符?

    这应该很简单 这很愚蠢 但我无法让它发挥作用 我有一个在读取文件时定义的标头 if gene env in line or gene HIV2gp7 in line header line 现在这个标题看起来像 gt lcl NC 0018
  • 如何为 PyYAML 编写代表程序?

    我想要一个自定义函数来序列化任意 python 对象 就像 json dump 函数有一个名为 default 的可选参数 如果对象不是 json 可序列化的 它应该是 json 转储器将调用的函数 我只是想从 json 包中执行相当于此操
  • 如何在 Google App Engine (Python) 中定义配置变量/常量?

    我是 python GAE 的新手 想知道如何快速定义和使用全局设置变量 所以说你 git 克隆我的 GAE 应用程序 然后打开config yaml 添加更改设置 应用程序就全部连接起来 如下所示 config yaml or whate
  • python osmnx - 仅提取一个国家的大型高速公路

    我知道可以通过 OSMNX python 包提取城市的道路网络 详情请参阅https geoffboeing com 2016 11 osmnx python street networks https geoffboeing com 20
  • 将 gtk.DrawingArea 保存到文件

    我想使用 PIL 将 gtk DrawingArea 对象内容保存到 jpeg 文件 我特别想添加这个脚本 http pygstdocs berlios de pygst tutorial webcam viewer html制作照片的可能
  • 构建wheel失败/“错误:INCLUDE环境变量为空”

    我正在使用 Python 2 7 11 并尝试 pip install 模块 但是其中一些模块失败了 我收到的消息是 无法为 X 构建轮子 和 错误 包含环境变量为空 我尝试安装 Scrapy LXML 和 Twisted 但都失败了 我尝
  • python请求ssl握手失败

    每次我尝试这样做 requests get https url 我收到这条消息 import requests gt gt gt requests get https reviews gethuman com companies Trace
  • Python - 从一定范围内随机采样,同时避免某些值

    我一直在阅读有关random sample 函数在random模块 但没有看到任何可以解决我的问题的东西 我知道使用random sample range 1 100 5 会给我来自 人群 的 5 个独特样本 我想得到一个随机数range
  • Python httplib 和 POST

    我目前正在使用别人编写的一段代码 它用httplib向服务器发出请求 它以正确的格式提供所有数据 例如消息正文 标头值等 问题是 每次尝试发送 POST 请求时 数据都在那里 我可以在客户端看到它 但没有任何内容到达服务器 我已经阅读了库规
  • 抓取 Shopee API v4

    我有一个最终项目 其中我想要检索的数据是通过在shopee上抓取数据来获取的 但是当我在隐藏的API上抓取shopee时遇到问题 当我在Insomnia脚本上尝试时 脚本会运行 但是当我尝试时在本地或 google colab 脚本上 这是
  • 如何让 Python 生成器返回 None 而不是 StopIteration?

    我使用生成器在列表中执行搜索 如下简单示例 gt gt gt a 1 2 3 4 gt gt gt i for i v in enumerate a if v 4 next 3 只是为了稍微说明一下示例 与上面的列表相比 我使用的列表要长得
  • 为什么变量 1 += 变量 2 比变量 1 = 变量 1 + 变量 2 快得多?

    我继承了一些 Python 代码 用于创建巨大的表 最多 19 列宽 5000 行 花了九秒用于在屏幕上绘制表格 我注意到每一行都是使用以下代码添加的 sTable sTable n GetRow where sTable是一个字符串 我将
  • Python - 将列表作为参数传递给 SQL,以及更多变量

    我试图在 python 3 6 中将未知数量的参数传递给 SQL Server 这是我使用 pypyodbc 的代码 cursor cnxn cursor theargs 1033286869 1053474957 1063654630 1

随机推荐

  • 预编译 ASP.NET 网站上的“JIT 时间百分比”高且波动

    拥有 150 个 dll 的 ASP NET 网站预编译的 可更新 导致 的可能原因是什么JIT 时间百分比 这通常相当高 gt 60 并且波动的应用程序预热后很长一段时间 访问所有功能 并且没有 应用程序重新启动或文件更改可能会生成新的程
  • scala 中“迭代 Seq 或如果为空”的更好版本?

    是否有更短 更好的方法来执行以下操作 mySeq map elmt gt do stuff if mySeq isEmpty some other stuff Ps 我正在使用 PlayFramework 这意味着在模板中使用 所以如果我错
  • 将数字 1 排列在二维矩阵中

    给定二维矩阵的行数和列数 初始矩阵所有元素均为0 给定每行中应该出现的 1 的数量 给定每列中应该出现的 1 的数量 确定是否可以形成这样的矩阵 例子 Input r 3 c 2 no of rows and columns 2 1 0 n
  • 病毒扫描程序锁定和删除临时文件 - 应对它们的最佳方法?

    我的应用程序处理来自不同来源的电子邮件 例如Outlook 和 IMAP 邮箱 在解析它们之前 我将它们写入临时目录 不能将它们保留在内存中 在解析时 我可能会将附件写入临时目录 例如 如果它们太大而无法保留在内存中或无法进行全文提取 但在
  • Angular 资源测试:$httpBackend.flush() 导致意外请求

    我想测试 angularjs 资源 use strict AddressService provides functionality to use address resource in easy way This is an exampl
  • 抽象数据类型和接口

    抽象数据类型和接口有什么区别 例如我们有一个ListADT interface MyListADT
  • app.UseHsts() 和 app.UseExceptionHandler() 有什么区别?

    在 NET Core 应用程序的 Startup cs 文件中 默认情况下它使用 public void Configure IApplicationBuilder app IHostingEnvironment env if env Is
  • 核心图:如何隐藏图、轴和标签?

    我有一个图表 其中 Y 轴和 X 轴与主图一起绘制在默认绘图空间上 然后我有单独的辅助绘图空间 每个辅助绘图都有自己的 Y 轴 所有绘图的 X 轴都相同 我正在实现按钮来打开和关闭辅助图 我希望它基本上包括整个绘图空间 绘图 自定义 y 轴
  • Android 在 Nexus 设备上隐藏软键

    我想在用户启动我的应用程序时隐藏软键栏 主页 后退 菜单 我尝试使用 getWindow getDecorView setSystemUiVisibility View SYSTEM UI FLAG HIDE NAVIGATION 但不幸的
  • Google Analytics API 显示页面浏览量

    使用 NET MVC 3 我想在网站的每个页面上显示页面视图 我已经设置了谷歌分析 我知道有一个 API 但不知道从哪里开始 有什么指示可以说明我需要什么 更具体地说 要查看什么来显示页面视图 在 Views Shared 文件夹中创建一个
  • 十六进制转储文件的Pythonic方式

    我的问题很简单 有什么方法可以用 bash 命令以 Python 方式进行编码吗 hexdump e 2 1 02x file dat 显然 不使用 os popen 或任何快捷方式 编辑 虽然我没有明确指定 但如果代码在 Python3
  • ASP.NET 5 未在开发模式下运行

    我已将 ASP NET 5 项目更新为 beta 8 现在我们应该使用以下 Web 命令 commands web Microsoft AspNet Server Kestrel 现在我已经使用环境变量更新了我的项目 这也更新了我的 lau
  • 清理嵌套的 Try/Excepts

    我刚刚编写了一段代码 令我印象深刻的是 它的嵌套程度远远超过了最佳值 我想了解如何改进其风格 特别是使其更符合 扁平优于嵌套 的原则 for app in apps if app split 1 0 zc only look for cro
  • 带有透明背景的css3锯齿状边缘

    我试图在图像上的 div 上用 css3 制作锯齿状边缘 并且我需要它有一个透明的 bg bg 我的意思是锯齿状边缘在哪里 请参阅以下小提琴 http jsfiddle net ovb597yq http jsfiddle net ovb5
  • 更改Android TabWidget底部栏颜色

    如何更改 TabWidget 底部栏的颜色 我已经成功更改了选项卡背景颜色 但底部栏仍然是灰色 橙色 并且我在 Android 文档和源代码中找不到与此相关的任何信息 谢谢 See 启用 禁用此行 tabHost getTabWidget
  • Android 本机崩溃从 /system/framework/arm/boot.oat 启动

    最近在 Google Play 中更新我的应用程序后 我开始收到大量崩溃报告 所有这些报告都来自搭载 Android 5 的三星设备 较低的 Android 版本可以正常工作 其他制造商的 Android 5 设备也可以正常工作 我没有任何
  • Angular2 如何将父组件注入到指令中(仅当它存在时)?

    我的自定义表格组件有一个全选指令 我希望我的指令的用户能够通过两种方式实例化它 1
  • 如何使用 AWS S3 SDK 的 createPresignedPost 方法使 AWS S3 文件可供公开访问?

    我有一个用例将 AWS S3 存储桶保留为默认私有 但是 上传到 AWS S3 时将某些对象公开 我使用以下代码对 AWS S3 url 进行签名 并使用 ACL 设置作为public read module exports generat
  • Jetpack Compose 预览未显示

    我似乎在撰写预览时遇到问题 当我使用 preview 注释撰写方法时 布局面板不会出现 我假设我缺少依赖项 但我已从此处复制并粘贴了代码https developer android com jetpack compose setup ht
  • Numpy、Python:广播时自动扩展数组维度

    考虑以下 Numpy 数组广播练习 import numpy as np v np array 1 0 2 0 T column array A2 np random randn 2 10 2D array A3 np random ran