【发布时间】:2025-12-21 14:55:07
【问题描述】:
我有一个 m 维 NumPy 数组 A 和一个 n 维 NumPy 数组 B
我想创建一个 m x n 矩阵 C 使得 C[i, j] = B[j] - A[i]
在 NumPy 中是否有一种高效/矢量化的方式来执行此操作?
目前我正在使用:
C = np.zeros((M, N))
for i in range(0, M):
C[i, :] = (B - A[i])
编辑:m, n 是大数字,因此,C 是一个更大的矩阵(m*n 条目)
我尝试了np.repeat 和np.subtract.outer,但它们都使我的 RAM 崩溃了
【问题讨论】:
-
看看我对答案所做的编辑。您可以指定 'out' 关键字以避免操作创建任何新数组。
-
无论如何你都会得到一个数组 (M,N) 大小,如果你用
C做其他事情,可能是两个。
标签: python numpy vectorization