【发布时间】:2015-07-18 06:02:42
【问题描述】:
我有一个形状为 (n, d) 的矩阵 Y。我已经通过以下方式计算了成对的行差异:
I, J = np.triu_indices(Y.shape[0], 0)
rowDiffs = (Y[I, :] - Y[J, :])
不,我想创建一个 3d 数组,其中包含位置 (i,j, :) 处 Y 的 i 和 j 行的差异。你会怎么做?
它的目的是替换这个低效的循环:
for i in range(Y.shape[0]):
for j in range(Y.shape[0]):
C[i,:] = C[i,:] + W[i, j] * (Y[i, :]-Y[j, :])
【问题讨论】:
标签: python arrays performance matrix vectorization