python - 将 numpy 3 dim 数组乘以 2d 数组
问题描述
我有两个矩阵,m0.shape = [10, 3, 3]
和m1.shape = [10, 3]
。我想要做的是使用循环以这种方式完成:
m0 = np.zeros((10, 3, 3))
m1 = np.zeros((10, 3))
a = np.zeros((10, 3))
for i in range(10):
a += m1 @ m0[i]
问题是:我可以通过使用内置的 numpy 操作以某种方式获得相同的结果吗?
解决方案
我认为你有两个选择:
import numpy as np
np.sum(m1 @ m0, axis=0)
或使用numpy.einsum
np.einsum('ij,kjl->il', m1, m0)
推荐阅读
- python - 可以在代码块中对齐分隔符吗?
- json - 无法在 Swift 中删除带有按钮和 JSON 数据的 tableview 行
- laravel - 从请求标头 Laravel 8 获取 cookie 值
- php - Laravel 会话驱动程序数据库为每个 Ajax 请求创建一个新行
- r - 如何根据前一行替换特定行中的值?
- javascript - 附加一个 ? 我网站的参数使页面上不呈现元素
- jquery - 为什么 ajax 响应正在替换 ajax 调用中的所有 html 内容?
- vue.js - 如何使用 vue-class-component
- c# - 实体框架 MySQL,简单的推荐程序设置 - 一对一可选,一对多
- python - 根据 Pandas 中的列表对多列进行排序