У меня есть папка с 1000 сжатыми файлами numpy (npz), представляющими результаты моделирования данных. В каждом файле есть два массива a
и b
с одинаковым размером, формой и типом данных. В качестве окончательного результата я хочу получить массивы среднего и стандартного отклонения по элементам a
, b
и c
(которые я создаю в приведенном ниже примере), принимая во внимание все моделирование, то есть:
mean_a = np.mean(a1,a2,a3,...a1000)
std_a = np.std(a1,a2,a3...a1000)
и др.
Мне удалось получить средние значения, но без прямой поэлементной операции. Больше всего я борюсь с ЗППП. Я пытался добавить все массивы в списки, но у меня проблема с памятью. Есть идеи, как мне действовать? См. Ниже, чего я добился до сих пор. Заранее спасибо!!
import glob
import numpy as np
import os
simulation_runs = 10
simulation_range = np.arange(simulation_runs)
npFiles = [npFile for npFile in glob.iglob(os.path.join(outDir, "sc0*.npz"))]
a_accum = np.empty([885, 854], dtype=np.float32)
b_accum = np.empty([885, 854], dtype=np.float32)
c_accum = np.empty([885, 854], dtype=np.float32)
for run, i in enumerate(npFiles):
npData = np.load(i)
a = npData['scc']
b = npData['bcc']
c = a+b
a_accum = a + a_accum
b_accum = b + b_accum
c_accum = c + b_accum
aMean = a_accum/len(simulation_range)
bMean= b_accum/len(simulation_range)
cMean = c_accum/len(simulation_range)
numpy
, исследовали ли выnp.mean()
иnp.std()
? - person kcw78   schedule 03.01.2019