我有(n,n)numpy数组。我想附加一个列向量,其中每个元素都是相应行的总和。我还在矩阵的末尾附加一个行向量,它是相应列的总和。但是,从维度角度来看,附加这些1D阵列是不兼容的。我想附加这些,但有一个矩阵,其中点(-1,-1)是最后一行或列的总和(因为它们相等)。
实施例
x = np.random.randint(5, size=(4, 4))
columns = np.sum(x,axis=1)
rows = np.sum(np.transpose(x),axis=1)
答案 0 :(得分:2)
你可以这样做:
首先让我们生成一些矩阵a
n=5
k=4
a=np.zeros([n,k])
for i in range(n):
for j in range(k):
a[i][j]=i+2*j
然后运行以下命令。 这会添加行:
a=np.append(a,[np.sum(a,axis=0)],axis=0)
这会计算列
col=np.array([np.sum(a,axis=1)])
最后我们添加列
a=np.concatenate((a,col.T),axis=1)
print(a)
请注意,这也会处理(-1,-1)条目。