当前位置: 首页 > 面试题库 >

python + numpy:如果numpy.log的操作数太大,为什么会抛出属性错误?

叶煌
2023-03-14
问题内容

跑步

np.log(math.factorial(21))

抛出一个AttributeError: log。这是为什么?我可以想象一个ValueError或某种形式的UseYourHighSchoolMathsError,但是为什么会出现属性错误?


问题答案:

的结果math.factorial(21)是Python长。numpy无法将其转换为其数字类型之一,因此将其保留为dtype=object。一元函数对对象数组的工作方式是,它们只是尝试在对象上调用相同名称的方法。例如

np.log(np.array([x], dtype=object)) <-> np.array([x.log()], dtype=object)

由于.log()Python上没有方法,因此您可以得到AttributeError



 类似资料:
  • 我正在尝试设置Spring AoP框架,但我不想依赖AspectJ,因此我将在一个bean xml配置文件中声明我的方面、建议等,类似于以下内容: 每当我指定如上所述的切入点时,我都会收到以下错误: 当我把aspectjweaver.jar.包括在内时,我可以做到这一点,但这不应该是这样。有什么想法吗? 提前谢谢

  • 我正在使用JavaSE开发工具包8更新25(64位)。我已经从Java™教程中阅读了“原始数据类型”java教程,根据该规范,长类型可以容纳(2的64次方)-1的最大值,即18446744073709551615。 但是下面的代码会抛出“整数太大”的错误消息。 此外,Long.Max_Value仅返回 9223372036854775807 。为什么?我需要将值 18,446,744,073,70

  • 我试图在Java中将扫描字符串转换为JSONObject,并从JSON Simple导入JSON模块。我已经在构建路径中添加了JSON-simple-1.1.1.jar。然而,当我试图传递内联字符串时。我的内联字符串如下:{“events”:[{“url”:“/操纵多云国家”,“visitorId”:“03c0b5e0-3eeb-382a-8c6d-35e4bb189cf6”,“timestamp

  • 问题内容: 但是,如果用前导零检查Integer,则会发现问题是在jdk7发行之前进行的,因此其研究工作量较小。但是在jdk7中,对整数进行了一些更改和添加。以下是有关jdk7的最新答案。 我有一个代码: 编译时出现错误:整数太大:09 为什么这样做呢? 同样,如果我将代码更改为: 现在输出是10 为什么给输出10而不是12? 问题答案: 开头的数字被认为是八 - 9不是一个八进制数字(但(传统)

  • 我得到而调用 Java语言lang.StackOverflowerr:org处为null。阿帕奇。平民登录中。日志适配器$Slf4jLog。isDebugEnabled(LogAdapter.java:300)~[spring-jcl-5.1.10.RELEASE.jar:5.1.10.RELEASE]位于org。springframework。安全身份验证。ProviderManager。在or

  • 我一直在尝试一些组件,这些组件执行react-cache风格的事情,并在render方法中执行web服务调用,将promise抛出到React.Suspense组件,并在数据存在时重新呈现。它们调用web服务,检查响应,并根据响应呈现或抛出错误到错误边界。我注意到,每当在组件中抛出错误时,它都会呈现两次。第一次callstack看起来正常,第二次callstack包括对invokeGuardedC