我必须计算矩阵的这个特定部分的平均值,这是用随机数生成的,到目前为止我的工作:
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)
答案 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))
请注意,这可能不适用于非方阵。