python numpy-执行向量和矩阵加法的函数

时间:2018-12-07 20:42:22

标签: python numpy

我正在研究问我的问题:

如果可能,将两个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 :(得分:0)

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文档,此函数将单个“ array_like”对象作为其第一个参数。数组列表是一个完全有效的“ array_like”对象,因此上面的代码有效。