python numpy - функция для добавления вектора и матрицы - PullRequest
0 голосов
/ 07 декабря 2018

Я работаю над проблемой, которая спрашивает меня:

Добавьте два вектора или матрицы NumPy, если это возможно.Если невозможно добавить два вектора / матрицы вместе (поскольку их размеры различаются), верните False.

Вот мой подход:

import numpy as np

def mat_addition(A, B):
    if A.shape != B.shape:
        return False
    else:
        return np.sum(A,B)

Но когда я запускаю код длятестирование говорит:

TypeError: only integer scalar arrays can be converted to a scalar index

Может кто-нибудь сказать мне, что не так с моим кодом?

1 Ответ

0 голосов
/ 08 декабря 2018

np.sum на самом деле может быть использовано так, как вы хотите.Вам просто нужно обернуть аргументы, которые вы передаете np.sum в список:

import numpy as np

def mat_addition(A, B):
    if A.shape != B.shape:
        return False
    else:
        return np.sum([A,B])

a = np.arange(5*3).reshape(5,3)
b = np.arange(5*3, 5*3*2).reshape(5,3)
print(mat_addition(a,b))

Вывод:

435

Согласно документам numpy.sumэта функция ожидает один «массив_подобный» объект в качестве первого аргумента.Список массивов - это совершенно корректный объект типа «массив», поэтому приведенный выше код работает.

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