Numpy数组与权重相加

Fer*_*mac 11 python arrays numpy

我有一个二维numpy数组.

每行长三个元素,整数为0-3.这表示6位整数,每个单元按顺序表示两位.

我正在尝试将它们转换为完整的整数.

例如

for i in range(len(myarray)):
  myarray[i] = myarray[i][0] * 16 + myarray[i][1] * 4 + myarray[i][2]
Run Code Online (Sandbox Code Playgroud)

例如,我试图对每一行求和,但是根据[16,4,1]的某个权重向量.

这样做最优雅的方法是什么?我想我必须做一些点积然后加一个总和,但我不是百分之百有信心在哪里做点.

Kar*_*mel 21

点积倾角是正确的,包括您需要的总和.因此,要获得目标数组元素和一组权重的乘积之和:

>>> a = np.array([[0,1,2],[2,2,3]])
>>> a
array([[0, 1, 2],
       [2, 2, 3]])
>>> weights = np.array([16,4,2])
>>> np.dot(a,weights)
array([ 8, 46])
Run Code Online (Sandbox Code Playgroud)