Как рассчитать сумму элементов, кроме указанных индексов? - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть массив значений 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 голосов
/ 13 декабря 2018

Для «кроме» просто сделайте сумму как обычно и вычтите / сложите соответственно:

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...