gpt4 book ai didi

python - 在所有元素上集成一个数组

转载 作者:太空宇宙 更新时间:2023-11-04 03:18:28 25 4
gpt4 key购买 nike

我希望集成一个大尺寸(约 4000 x 4000 像素)的图像,该图像是 1E-6 和 1E-7 数量级的大量值的数组。

在使用 print sum(my_array) 任务时,我收到:

[ 0. 0. 0. ..., 0. 0. 0.]

阵列很好,阵列的边缘有很多 0,因此我们在这里看到它们的原因,但我想要所有像素的总积分值,是否有一种真正简化的方法来实现这一点具有非常小值的大数组?也许用 numpy?

最佳答案

问题是您使用的是(或使用)迭代器的 python 内置求和。并且遍历嵌套列表(遍历 np.ndarrays 就像遍历嵌套列表)不会按您需要的方式工作(数组是一维的除外)。如果你想要所有值的总和,试试这个

import numpy as np
# Just an example array, you need to define your array here
my_array = np.random.normal(0,1e-7,10000).reshape(100,100)
# np.sum instead of normal python sum. If you have NaNs try np.nansum
np.sum(my_array)
# 2.9210826829167365e-06

sum 所做的是遍历第一个轴(行)并构建列的总和。这就是为什么你得到一个 list 作为返回。

此外,我建议您查看一些 numpy 文档示例或一些 numpy 教程。 Numpy 有很多很棒的函数并且也需要它们,因为它们更快并且特别针对 numpy 数组进行了调整。应用于 python 扩展时,应谨慎对待 python 内置函数。

关于python - 在所有元素上集成一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35462635/

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