【发布时间】:2021-12-03 16:09:35
【问题描述】:
我想对一个矩阵的所有行求和,因此,如果我有一个n x 2 矩阵,结果应该是一个所有行求和的1 x 2 向量。我可以用np.sum( arg, axis=1 ) 做类似的事情,但如果我提供一个向量作为参数,我会得到一个错误。是否有任何更通用的 sum 函数在提供向量时不会引发错误?注意:这在 MATLAB 中从来不是问题。
背景:我写了一个函数,它计算一些东西并对矩阵的所有行求和。根据输入的数量,矩阵有不同的行数,行数为>= 1
【问题讨论】:
-
我认为最好提供原始矩阵。
-
您应该使用axis=0 对行求和,而不是axis=1。
-
@Steradiant,我认为您误解了您链接的表格中箭头的含义。箭头表示您正在求和的其他内容,因此对轴 = 0 的行求和。它们不表示结果的形状。
-
您的问题是对于向量,axis=0 不对应于“行”,因为一维数组没有任何行。但是你只需要检查 your_array.shape 就像 scandav 在他的回答中所做的那样。