gpt4 book ai didi

python - 为什么 numpy.sum 没有给我正确的结果?

转载 作者:行者123 更新时间:2023-12-01 00:47:06 27 4
gpt4 key购买 nike

标准 Python 列表 x=list(range(100000)) 的总和与相同序列 x_array=np.array(x) 的总和不一致。在第一种情况下,我得到 sum(x)=4999950000,这是正确的结果。使用 numpy sum 我得到 np.sum(x_array))=704982704。这让我很困扰,因为我是这门语言的初学者。有人对这种差异有解释吗?谢谢。代码是

import numpy as np
x=list(range(100000))
print("sum x using standard python function = ",sum(x))
x_array=np.array(x)
print("sum x using numpy =",np.sum(x_array))

最佳答案

您的 NumPy 默认为标准 32 位整数; Python 将根据需要切换到无限长整数。

你被溢出/环绕所困扰。

4999950000 % (2**32)   ==>   704982704

关于python - 为什么 numpy.sum 没有给我正确的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56878718/

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