【问题标题】:Append sum of rows and columns to matrix将行和列的总和附加到矩阵
【发布时间】:2017-03-15 21:29:30
【问题描述】:

我有 (n,n) numpy 数组。我想附加一个列向量,其中的每个元素都是相应行的总和。我还将一个行向量附加到矩阵的末尾,它是相应列的总和。但是,从维度的角度来看,附加这些一维数组是不兼容的。我想附加这些,但有一个矩阵,其中点 (-1,-1) 是最后一行或最后一列的总和(因为它们相等)。

示例;

x = np.random.randint(5, size=(4, 4))
columns = np.sum(x,axis=1)
rows = np.sum(np.transpose(x),axis=1)

【问题讨论】:

  • 尝试先将行的总和追加为一列,创建(n, n+1)维数组,然后将列的总和追加为一行。

标签: python numpy matrix scipy


【解决方案1】:

你可以这样做: 首先让我们生成一些矩阵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) 条目。

【讨论】:

    猜你喜欢
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    相关资源
    最近更新 更多