a = np.arange(rows_a * cols).reshape(rows_a, cols)
v = np.arange(rows_v * cols).reshape(rows_v, cols)

def using_loop():
    c = 0
for i in range(len(v)):
    D = ((a - v[i]) ** 2).sum(axis=-1)
c += D.min()
return c

def using_broadcasting():
    return ((a[:, (np.newaxis), :] - v) ** 2).sum(axis=-1).min(axis=0).sum()
Разница между каждой парой столбцов двух массивов numpy (как это сделать более эффективно)?