У меня есть np.ndarray
с номерами, которые указывают на места, представляющие интерес, я заинтересован в пятнах, которые имеют значения 1 и 9.Применение маски для ускорения различных расчетов массива
Сейчас они извлекаются как таковой:
maskindex.append(np.where(extract.variables['mask'][0] == 1) or np.where(megadatalist[0].variables['mask'][0] == 9))
xval = maskindex[0][1]
yval = maskindex[0][0]
Мне нужно применить эти значения x и y к массивам, над которыми я работаю, чтобы ускорить работу.
У меня есть 140 массивов, каждый из которых 734 x 1468, мне нужно среднее, max, min, std, рассчитанное для каждого поля. И я надеялся, что там был легкий способ применения замаскированного массива для ускорения операций, прямо сейчас я просто делаю это на целых массивов, как например:
Average_List = np.mean([megadatalist[i].variables['analysed_sst'][0] for i in range(0,Numbers_of_datasets)], axis=0)
Average_Error_List = np.mean([megadatalist[i].variables['analysis_error'][0] for i in range(0,Numbers_of_datasets)], axis=0)
Std_List = np.std([megadatalist[i].variables['analysed_sst'][0] for i in range(0,Numbers_of_datasets)], axis=0)
Maximum_List = np.maximum.reduce([megadatalist[i].variables['analysed_sst'][0] for i in range(0,Numbers_of_datasets)])
Minimum_List = np.minimum.reduce([megadatalist[i].variables['analysed_sst'][0] for i in range(0,Numbers_of_datasets)])
Любые идеи о том, как ускорить процесс будет высоко оцениваем
Да. Извините, я просто не мог понять, как! – NicolaiF