【问题标题】:Efficiently produce 64 by 10 matrix from 64 and 10 long vectors in python在 python 中有效地从 64 和 10 个长向量生成 64 x 10 矩阵
【发布时间】:2020-11-04 12:48:32
【问题描述】:

我正在尝试通过有效地将两个数组相乘来创建一个 64 x 10 矩阵。

假设数组 B 有 64 个元素,数组 C 有 10 个元素。我想从中生成一个 64 x 10 的矩阵。目前我正在这样做

for j in range(10):
 for k in range(64):
  A[j][k] = B[k] * C[j]

但我的使用时间相对较长,因为我需要这样做数千次。

有没有办法使用 python/numpy 真正快速有效地做到这一点?

【问题讨论】:

  • 您确定要生成64x10 数组吗?你的循环建议10x64

标签: python arrays numpy matrix


【解决方案1】:

使用广播:

import numpy as np

b = np.array(B).reshape(64, 1)
c = np.array(C)
a =  b * c

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 2015-11-05
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    相关资源
    最近更新 更多