【问题标题】:numpy multiply vectors to form square matrixnumpy 将向量相乘以形成方阵
【发布时间】:2015-08-31 17:02:42
【问题描述】:

假设我有两个形状为N 的numpy 数组xy,我想将它们分别表示为大小N x 1,并且我想将它们乘以x y' 以获得大小矩阵N x N。但如果我尝试:

np.dot(x, y.T)np.dot(x.T, y)

我总是得到一个标量(大小1 x 1)。

是否可以指定 numpy 沿特定维度将两个数组相乘?

为了澄清,假设我有

x = [x1, x2] 
y = [y1, y2]

我想要

xy' = [[x1*y1, x1*y2], [x2*y1, x2*y2]]

但 numpy 似乎总是返回

xy' = x1*y1+x2*y2

【问题讨论】:

  • 试试np.outer(x, y)
  • 谢谢,这正是我想要的。
  • 如果你把这个作为答案,我可以选择它

标签: numpy


【解决方案1】:

你想要np.outer(x, y)。你也可以通过广播来做到这一点:

x[:, None] * y

哪个更灵活

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-03
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    • 2021-12-04
    • 1970-01-01
    相关资源
    最近更新 更多