【问题标题】:How to achieve a matrix from vectorized sum of each row in a matrix with another matrix如何从矩阵中每一行的向量化总和与另一个矩阵实现矩阵
【发布时间】:2019-01-08 14:19:04
【问题描述】:

假设我们将 A 作为 A=[[0,0,0],[1,1,1]]B=[[1,1,1],[2,2,2],[3,3,3]] 我如何在 numpy 中编写一个没有 for 循环的向量化实现来计算矩阵 C 作为 C=[[6,6,6],[7,7,7]]? C 是通过将 A 中的每一行与 B 中的所有行相加而创建的。

【问题讨论】:

  • np.sum(B, axis = 0) + A 怎么样?

标签: python numpy matrix data-science


【解决方案1】:

做类似的事情

a = np.array([[0,0,0],[1,1,1]])
b = np.array([[1,1,1],[2,2,2],[3,3,3]])

c = b.sum(axis=0) + a

print(c)

输出

array([[6, 6, 6],
       [7, 7, 7]])

【讨论】:

  • 不错。只是为了满足 OP 的要求,我会将您的第三行重写为 c = b.sum(axis=0) + a
  • 啊,很简单,因为您想将 A 的每一行与所有 B 行相加,我只是在轴 1 上求和并转换为 1D(因为数组的形状是不同的)然后简单的加法 :)
猜你喜欢
  • 1970-01-01
  • 2017-07-24
  • 2019-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多