我正在研究问我的问题:
如果可能,将两个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
有人可以告诉我我的代码有什么问题吗?
答案 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”对象,因此上面的代码有效。