gpt4 book ai didi

python - 为什么 numpy transcendentals 对于大于 2^64-1 的整数参数给出 "no attribute"错误?

转载 作者:行者123 更新时间:2023-11-28 16:58:13 24 4
gpt4 key购买 nike

奇怪的是,np.log(2**64-1) 返回 float 44.3614196

但是 np.log(2**64) 返回

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'log'

问题:

  • 为什么 numpy 对大于 2^64-1 的参数犹豫不决?
  • 为什么错误是 AttributeError 而不是对参数大小的提示?

仅供引用:其他 numpy 超越函数(sqrtlog10cos...)

最佳答案

NumPy 没有足够大的 native 整数数据类型来容纳 2**64,因此它获得 object dtype 处理。 object numpy.log 的 dtype 处理是在对象上查找 log 方法并调用它,这就是 AttributeError 来自.

关于python - 为什么 numpy transcendentals 对于大于 2^64-1 的整数参数给出 "no attribute"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56229726/

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