如何计算除指定索引以外的元素之和?

时间:2018-12-13 07:03:39

标签: python-3.x numpy sum

我有一个3 * 3的值数组

array([[20, 10, 30],
       [35, 45, 25],
       [15, 25, 35]])

我想创建一个函数,当我传递数字参数时,它应该将所有小于行号的元素的行和列元素相加。

def sum_con (ar,a):

    y=a-1

    z=ar[0][0]+ar[0][1]+ar[1][0]+ar[1][1]

    return z


sum_con(array,2)
>>110

但是您可以看到此代码不是动态的,因为它不可伸缩。

有人可以提供用于对n型数组执行相同功能的代码吗?

1 个答案:

答案 0 :(得分:4)

对于“ other”,只需像往常一样进行加法并相应地减去/加法即可:

def sum_con(a, n):
    return a.sum() - a[n].sum() - a[:,n].sum() + a[n,n]

这将使求和时第n行和第“列”消失。

对于“小于”,它甚至更容易:

def sum_con_2(a, n):
    return a[:n,:n].sum()