python - 转置 Numpy 数组(向量)
问题描述
a = np.array([0,1,2])
b = np.array([3,4,5,6,7])
...
c = np.dot(a,b)
我想转置 b,以便计算 a 和 b 的点积。
解决方案
您可以为此使用 numpy 的广播:
import numpy as np
a = np.array([0,1,2])
b = np.array([3,4,5,6,7])
In [3]: a[:,None]*b
Out[3]:
array([[ 0, 0, 0, 0, 0],
[ 3, 4, 5, 6, 7],
[ 6, 8, 10, 12, 14]])
不过,这与点积无关。但在你说的评论中,你想要这个结果。
您还可以使用 numpy 函数outer
:
In [4]: np.outer(a, b)
Out[4]:
array([[ 0, 0, 0, 0, 0],
[ 3, 4, 5, 6, 7],
[ 6, 8, 10, 12, 14]])
推荐阅读
- jmeter - 如何在其 url 中有环境的 JMeter 中发送 HTTP 请求?
- webpack - 为什么 webpack 需要一个加载器来进行我不使用的导入?
- arrays - C如何管理内存
- vue.js - 赛普拉斯在 CI 测试期间随机失败但在本地通过
- jquery - jquery 可数据分页插件 ellipses.js
- react-native - 反应导航与反应本机导航
- javascript - 从我的云 Firestore 中获取数据并将其保存到 Node JS 中的对象
- regex - Ansible regex_replace- ho 提取特定值
- ios - 无法使用锚定查询获取重量样本
- java - 应用程序不采用 spring.cloud.config.* 属性