gpt4 book ai didi

python - numpy 返回指数的 nans。纯 Python 返回正确的结果

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

我真的被这个搞糊涂了。也许有人可以为我澄清结果:

import numpy as np

a = np.array([ 1.97635114, 1.72790352, 1.51046621, 1.25543557, 1.01718594,
0.77378732, 0.53452001, 0.29627038, 0.05802074, -0.18022889,
-0.41847852])
e = -1.377404416

a**e

产生

array([ 0.39126903, 0.47080342, 0.56661974, 0.73100461, 0.97680242, 1.42368231, 2.369756, 5.34193942, 50.47146058, nan>

[item**e for item in a]

给我

[0.39126902696026267, 0.4708034172873469, 0.5666197367017416, 0.7310046117775049, 0.9768024208132248,
1.4236823077174863, 2.369756002432608, 5.341939422216064,
50.47146057971127,南,南]

但是

-0.41847852**e

产量

-3.3197780173988067

为什么 numpy 不能计算这两个数字的指数?

最佳答案

负数的根在实数中没有定义。 python 给出的是以下内容:-(0.41847852**e) 因为运算符优先级。尝试使用括号 (-0.41847852)**e :

>>> (-1.247220271970189+3.0765837674262926j)

它给出了一个复数。这就是 numpy 将它们计算为 nan 的原因。如果您使用 dtype='complex' 创建 numpy 数组,numpy 也可以计算它们。

关于python - numpy 返回指数的 nans。纯 Python 返回正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58699369/

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