我必须找到矩阵元素的算术平均值以及主对角线元素为负的矩阵那些行的元素之和。
这是我所做的。
import numpy as np
import random
m, n = 3, 3
f_sum = 0
def row_sum(arr):
global f_sum
sum = 0
for i in range(3):
for j in range(3):
sum += arr[i][j]
if arr[i][i] < 0:
f_sum = sum
sum = 0
arr = np.zeros((3, 3))
for i in range(m):
for j in range(n):
arr[i][j] = random.randint(-20, 20)
row_sum(arr)
mean = round(np.mean(arr), 2)
print(arr)
print('\n', "среднее арифметическое = ", mean)
print('\n',"сумму элементов = ", f_sum)
现在我面临的问题是,在计算主对角线元素为负的那些行的元素之和时,我只能得到最后的和。
结果看起来像这样
答案 0 :(得分:1)
更麻木的'esque'方法就是这样
import numpy as np
n, m = 3, 3
arr = np.random.randint(-20,20, size=(n,m))
print(arr)
diag = np.diagonal(arr)
w = diag < 0
f_sum = np.sum(arr[w], axis=1)
print(f_sum)
diag
提取np.diagonal
中的对角线元素。w
中。w
所指示的行并对它们求和。