Матрица Numpy умножить разные столбцы - PullRequest
0 голосов
/ 08 ноября 2018

Существует ли быстрый простой способ умножения нескольких столбцов из простой таблицы? Я использую код, который я показываю ниже, но мне было интересно, если Numpy предлагает прямой метод.

x = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
temp = np.ones(3)
for ind in [0,3]:
    temp *= x[:,ind]
print(temp)

array([  4.,  40., 108.])

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Использование numpy индексации и numpy.prod. idx может быть любым количеством столбцов из вашего array:

>>> idx = [0, 3]
>>> np.prod(x[:, idx], axis=1)

array([  4,  40, 108])

Также эквивалентно:

x[:, idx].prod(1)
0 голосов
/ 08 ноября 2018

Вы можете умножить столбцы, так как numpy умножение поэлементно:

x[:, 0] * x[:, 3]

возвращает

array([  4,  40, 108])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...