Как измерить среднее значение соответствующих элементов в массивах - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть фрагмент кода, который выполняется 1000 раз и производит 1000 ковариационных матриц. Как рассчитать среднее значение для каждого элемента в матрицах, а затем распечатать эту среднюю матрицу?

params_avg1=[]
pcov1avg=[]
i=1000
for n in range(i):
    y3=y2+np.random.normal(loc=0.0,scale=.1*y2)
    popt1,pcov1=optimize.curve_fit(fluxmeasureMW,bands,y3)
    params_avg1.append(popt1)
    pcov1avg.append(pcov1) #returns an array of 1000 3x3 covariance matrices

1 Ответ

0 голосов
/ 20 апреля 2020

Поскольку вы уже добавили все свои матрицы в один массив, преобразуйте его в массив 3D numpy и затем усредните по правильной оси:

np.array(pcov1avg).mean(axis=0) # or equivalently np.mean(pcov1avg, 0) 

И немного о наименовании - i обычно обозначает текущий индекс итерации, а не конечное значение, обычно обозначается n

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...