找出多个.npz文件的最大形状

2024-04-25 07:53:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有许多.npz文件,它们的形状可能会有所不同,我想找出哪个文件的形状更大。NPZ中有两个数组,我正在寻找第二个数组中最大的一个。下面的代码段可以工作,但返回形状所用的时间比我预期的要长。这是实现这一目标最有效的方法吗?我很担心缩放问题,因为目前需要几秒钟才能找到最大形状[1],而且我只遍历4个数组

frameMax =0 
for f in npzs:
    d = np.load(f,mmap_mode='r')
    if d['arr_0'].shape[1]>frameMax:
        frameMax = d['arr_0'].shape[1]
    d=None

Tags: 文件方法in目标for代码段时间数组
1条回答
网友
1楼 · 发布于 2024-04-25 07:53:06

请记住,I/O操作可能相对较慢。也就是说,您可以使用将在O(n)时间内运行的内置^{}将查找最大值的逻辑简化为以下逻辑,并且不需要执行指定:

frameMax = max([np.load(f,mmap_mode='r')['arr_0'].shape[1] for f in npzs])

相关问题 更多 >