Numpy Array somando com pesos

Eu tenho uma matriz numpy bidimensional.

Cada linha tem três elementos e é um inteiro 0-3. Isso representa um inteiro de 6 bits, com cada célula representando dois bits, em ordem.

Estou tentando transformá-los no inteiro inteiro.

Por exemplo.

for i in range(len(myarray)):
  myarray[i] = myarray[i][0] * 16 + myarray[i][1] * 4 + myarray[i][2]

Por exemplo. Eu estou tentando somar cada linha, mas de acordo com um certo vetor de peso de [16,4,1].

Qual é a maneira mais elegante de fazer isso? Eu estou pensando que tenho que fazer algum tipo de produto de ponto seguido de uma soma, mas não estou 100% confiante de onde fazer o ponto.

questionAnswers(1)

yourAnswerToTheQuestion