首页 > 解决方案 > 向量化 numpy 操作

问题描述

我有一个像下面这样的 numpy 数组:

array([[2, 3],
       [4, 6],
       [6, 6]])

我对自己在每一行之间进行点积运算很感兴趣。例如,假设我想用它自己来点第一行:

ans = x[0,:] @ x[0,:].T

ans = 13

第二个:

ans = x[1,:] @ x[1,:].T

ans = 52
ans = x[2,:] @ x[2,:].T
and = 72

有没有办法在不使用的情况下对这个操作进行矢量化numpy.apply_along_axis?所需的输出将是

array([13, 52, 72])

它不必是这个特定的操作。具体来说,我正在执行一个 SVM 实现,并且我有一些我想在我的 mxd 特征矩阵上矢量化的内核。我怎样才能做到这一点?

标签: pythonnumpyvectorization

解决方案


np.square(x[:,0]) + np.square(x[:,1])

输出

array([13, 52, 72], dtype=int32)

推荐阅读