Ваша проблема пытается подогнать алгоритм. Очевидно, что структура «отмеченного» раздела вашей матрицы четко определена, поэтому ваша проблема заключается в попытке увидеть/идентифицировать эту структуру, чтобы соответствовать ей.
То, что я вижу, является шаблоном: начиная с строки 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))
Примечание это, вероятно, не работает для неквадрат матрица.
Это не похоже, что вы * попробовали что-нибудь еще. Что вы делали, и что конкретно вас удерживает? Ошибки? (если это так, отправьте след и код). Вывод не соответствует тому, что вы ожидаете? (Если это так, покажите пример данных и вывод и т. Д.) –
Я точно не знаю, как рассчитать среднее значение этой части, вот что удерживает меня –
Как эта часть указана? дайте нам пример. – Tempux