用pythonic方式编写一个复杂的循环

时间:2019-04-23 08:31:46

标签: python numpy

我有以下代码

import numpy as np
from readers import readerXYZ
import glob 
folder=r'N:\FolderXYZ/*'
D_list=[]
ctr=0

for name in glob.glob (folder):

    Zdata = readerXYZ(name, output_matrix=True) 

    #I Need this counter of the NaNs for future computations
    ctr=ctr+np.count_nonzero(np.isnan(Zdata))    
    a=list(Zdata.shape)
    D_list.append(a)

程序从存储在“ FolderXYZ”文件夹中的不同文件中读取数据,这是通过名为readerXYZ的外部程序完成的,我要存储在lis D_list中的是每个Zdata Matrix的尺寸,同时计算总共有多少个NaN。 这段代码可以正常运行,但是需要很长时间,我该如何改进呢? 谢谢

1 个答案:

答案 0 :(得分:0)

如果您担心时间。您可以考虑并行处理列表。这是多处理的参考 Python how to parallelize loops