Как умножить вектор двух матриц на вектор по определенному индексу в матрицах в пандах или в numpy - PullRequest
0 голосов
/ 28 июня 2018

Предполагая, что у нас есть две матрицы A и B с dim из P * N и N * Q соответственно, каков более эффективный способ получения значений от умножения этих двух матриц только по определенному индексу? Например, вектор индекса строки в {p1, p3, p6, p1, ...} в матрице A умножается на вектор индекса столбца в {q2, q5, q2, q3 ...} в матрице B и возвращает скаляр значения.

Существует еще один фрейм данных, хранящий сопоставление этих индексов строк и столбцов, например,

row,column
p1,q2
p3,q5
p6,q2
p1,q3
...

как упоминалось ранее.

1 Ответ

0 голосов
/ 28 июня 2018

Во-первых, я бы отфильтровал нужные строки и столбцы из матрицы (2-D-массив). После этого вы можете выполнять умножение матриц с уменьшенными матрицами, присваивая результирующий вектор скалярным переменным, если хотите.

Что касается умножения матриц, взгляните на numpy.matmul.

Получение строк и столбцов из матрицы может быть выполнено многими способами. Это поток уже дает некоторые ответы на вашу проблему, используя numpy._ix или широковещание .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...