Python 矩阵特定部分的平均值
我必须计算矩阵这一特定部分的平均值,这是用随机数生成的,我目前的工作是:Python 矩阵特定部分的平均值,python,python-2.7,matrix,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) 您的问题是尝试适合算法。矩阵的“标记”部分显然有一个结构,因此您的问题在于尝试查看/识别该结构,以适应它 我看到的是
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行开始,从1到n-1取列,然后在第1行中取列2到n-2,以此类推。因此基本上,您是对
范围内(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))
请注意,这可能不适用于非方形矩阵。看起来您还没有尝试过任何东西。你尝试了什么,特别是什么阻碍了你?错误?(如果是,请张贴跟踪和代码)。输出与您期望的不匹配?(如果是,请显示示例数据和输出等)我不知道如何准确计算这部分的平均值,这就是为什么我坚持这部分是如何指定的?给我们举个例子,你能试试蛮力迭代吗,把每一个Vlaue附加到一个list对象,然后从这个list中进行avg?