我想对MODIS卫星数据做些分析。我的代码主要读取1200×1200(806×1200×1200)维度的许多文件(806)。它使用for loop
来完成,并执行数学运算。
下面是我阅读文件的一般方式。
mindex=np.zeros((1200,1200))
for i in range(1200):
var1 = xray.open_dataset('filename.nc')['variable'][:,i,:].data
for j in range(1200):
var2 = var1[:,j]
## Mathematical Calculations to find var3[i,j]##
mindex[i,j] = var3[i,j]
由于要处理的数据太多,所以处理过程非常缓慢,我正在考虑将其并行化。我试着用joblib
做些什么,但是我做不到。
我不知道如何解决这个问题。
我猜你想同时处理几个文件。为此,最好的方法(在我看来)是使用
multiprocessing
。要使用它,您需要定义一个基本步骤,它已经在您的代码中完成了。这应该返回一个元素列表
results
,其中每个元素是一个具有文件名和mindex矩阵的元组。这样,您可以同时处理多个文件。如果每个文件上的计算时间很长,那么它特别有效。相关问题 更多 >
编程相关推荐