gpt4 book ai didi

python - 奇怪的 numpy 行为,这里发生了什么?

转载 作者:行者123 更新时间:2023-11-30 23:02:56 25 4
gpt4 key购买 nike

我在使用 numpy.average 时遇到了麻烦,每次都会出错,直到我将输入转换为 numpy.float64s。我查看了源代码,这是因为以下行为,造成差异的原因是什么?

>>> f, f32 = numpy.float(1.0), numpy.float32(1.0)

>>> (f == 1.0).any()

Traceback (most recent call last):
File "<pyshell#80>", line 1, in <module>
(f == 1.0).any()
AttributeError: 'bool' object has no attribute 'any'
>>> (f32 == 1.0).any()
True

最佳答案

>>> type(numpy.float32(1.0))
<type 'numpy.float32'>
>>> type(numpy.float(1.0))
<type 'float'>
>>> type(numpy.float32(1.0) == 1.0)
<type 'numpy.bool_'>
>>> type(numpy.float(1.0) == 1.0)
<type 'bool'>

numpy.float32numpy.bool_ 不仅用于存储标量,还用于存储向量:

>>> numpy.float32([1.0, 2.0])
array([ 1., 2.], dtype=float32)
>>> numpy.float32([1.0, 2.0]) == 1.0
array([ True, False], dtype=bool)

因此,numpy.bool_中有一个any()函数来检查是否有任何一项为True。

关于python - 奇怪的 numpy 行为,这里发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34259319/

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