python - 在 numpy 中执行此操作的简单方法?
问题描述
假设我有一个 BxNxL 数组 M。换句话说,M 由 B 个 NxL 矩阵组成。另外,我有一个 LxB 列向量 Q。有没有简单的方法(没有 for 循环)将 Q 的第 i 列广播(求和)到 M 中的第 i 个矩阵?
解决方案
所以你的迭代代码会是?
for i in range(...):
res[i,:,:] = M[i,:,:] + Q[:,i] # NxL + L
与整个阵列
res = M + Q.T[:,None,:] # BxNxL + (Bx1xL)
(我写这个没有测试例子,所以可能会有错误,但基本思路应该是对的)
推荐阅读
- filter - 将筛选器应用于第二个仪表板而不立即跳转到 Tableau 中的第二个仪表板?
- variables - 如何使用 Snowsql 将一个 SQL 脚本用于多个数据库/仓库?
- opendj - 在 OpenDJ 3.0.0 上导入 oud 架构失败的故障排除
- git - 在哪里可以找到 redhat 7 的 git-svn 缺少的依赖项
- elasticsearch - 为什么 Kibana 不监听 5061 端口?
- abap - SELECT 的内联数据后出错:“不包含结构...”
- c# - 在 asp.net core 3 中设置 httpcontext
- javascript - 当按下 ENTER 或按下它的按钮时,使表单运行 javascript,而不提交
- c# - 绑定 WPF C# 后,MVVM 中 DataGridListView 的 SelectedItem 为空
- flutter - 如何自定义 CupertinoTabBar