我在使用平均数,它每次都会出错,直到我将输入转换为numpy.64S浮点数。我看了一下来源,是因为以下行为,有什么不同的原因?你知道吗
>>> 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
通常不需要使用
numpy.float(1.0)
这样的表达式。你知道吗numpy
中最常见、最基本的操作是生成一个数组。你知道吗或整数
注意,我在
==
测试中使用整数。==
使用float时,测试不是一个好主意。你知道吗我可以进一步指定
dtype
:这些数组的单个项将是
np.float
、np.int
等类型。很少需要直接创建一个np.float(1.23)
。在创建数组时指定dtype
,否则让numpy
处理这些细节。你知道吗numpy.float32
和numpy.bool_
不仅用于存储标量,还用于存储向量:所以在
numpy.bool_
中有一个any()
函数来检查这些项是否为真。你知道吗这是因为
numpy.float32
对象在与__eq__
比较时不返回bool
对象,而是返回numpy.bool_
对象。你知道吗相关问题 更多 >
编程相关推荐