gpt4 book ai didi

python - 提高 python 数组操作的性能

转载 作者:行者123 更新时间:2023-12-01 05:40:53 25 4
gpt4 key购买 nike

我有一个 python 脚本,它读取两个 tiff 图像并找到唯一的组合,对观察结果进行计数并将计数保存到 txt 文件。

您可以找到完整的脚本in www.spatial-ecology.net

结果是:

tif1

2 2 3

0 0 3

2 3 3

tif2

2 2 3

3 3 4

1 1 1

result

2 2 2

3 3 1

0 3 2

3 4 1

2 1 1

3 1 2

脚本运行良好。这就是它的实现方式。

  1. 逐行读取(对于范围(行)中的 irows:),以便不将完整图像加载到内存中(最终可以插入标志选项来读取 10 x 10 行)

  2. 遍历数组并创建一个元组

  3. 检查元组是否已存储在 dic() 中

我的问题是:在这种情况下有哪些加快进程的技巧?

我测试将结果保存在二维数组而不是 dic() 中,但它会减慢进程。我检查this link也许python的map函数可以提高速度。是这样吗?

提前致谢朱塞佩

最佳答案

如果您想要一些关于性能的真正建议,您需要发布与您想要执行的操作直接相关的代码部分。如果你不这样做,我们就无能为力了。也就是说,如果您无法发现自己​​的低效率到底在哪里,我强烈建议使用 python 的 cProfile 模块。使用方法如下:

import cProfile

def foo(*args, **kwargs):
#do something

cProfile.run("foo(*args, **kwargs)")

这将打印代码的详细时间配置文件,让我们知道代码的哪些步骤占用了最多时间。通常,这将是几个方法,它们要么被调用的频率远远高于它们应该被调用的频率,要么进行一些愚蠢的额外处理,从而导致性能瓶颈。

关于python - 提高 python 数组操作的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17573160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com