矩阵特定部分的平均值

时间:2015-11-30 23:00:58

标签: python python-2.7 matrix

我必须计算矩阵的这个特定部分的平均值,这是用随机数生成的,到目前为止我的工作:

import random as rd
import numpy as np

matriz= np.zeros([12, 12])

for i in range(0,12):
    for j in range(0,12):
        matriz[i,j]=rd.randint(0,10) 

Image

1 个答案:

答案 0 :(得分:0)

您的问题是尝试适应算法。矩阵的“标记”部分显然有一个结构,所以你的问题是试图查看/识别这个结构,以便适应它。

我看到的是一种模式:从第0行开始,你从1到n-1的列,然后在第1行,你将第2列带到n-2,等等。所以基本上,你是汇总range(rowIndex+1, len(columns)-(rowIndex+1))

中每行的坐标

可能有一些更优雅的方法来实现这一目标,但我认为这样可行:

import random as rd
import numpy as np

l, w = 12, 12   # matrix has dimensions l=12, w=12
matriz= np.zeros([l, w])

for i in range(l):
    for j in range(w):
        matriz[i,j]=rd.randint(0,10) 

vals = []

for i in range(int(l/2)):     # iterate through rows 0 to 4
    for j in range(i+1, w-(i+1)):
        vals.append(matrix[i,j])

# get the mean:
print 'mean is {}'.format(sum(vals)/len(vals))

请注意,这可能不适用于非方阵。