python - 矩阵元素的算术平均值和总和
问题描述
我必须找到矩阵元素的算术平均值以及主对角线元素为负的矩阵行的元素之和。
这就是我所做的。
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)
现在我面临的问题是,在计算主对角线元素为负的那些行的元素总和时,我只得到最后一个总和。
结果看起来像这样
解决方案
一个更麻木的“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
您在using中提取对角线元素np.diagonal
。- 您会发现对角元素在哪些行中为负数,并将其存储在
w
. - 最后,您只选择由 指示的行
w
并将它们相加。
推荐阅读
- image-processing - 如何使亮度和对比度设置适应热像仪以保持数据一致性?
- sharepoint-2013 - 通过 CSOM 更新的项目不会触发远程事件接收器
- android - 单击通知时未清除后台堆栈
- javascript - 带箭头的 D3 弯曲链接未出现在屏幕上
- python - python vsphere DRS组
- windows - 自动从 SVN 导出工作副本
- php - Laravel 请求仅在更改时更新唯一字段
- python - Groupby 两列并将不同的分位数打印为单独的列
- node.js - 需要在 mongodb 中比较 2 个不同的日期字段
- react-native - 升级到 React Native 0.56 后无法解决加速模块