返回类型为numpy.minimum()?
当我在布尔数组上使用
numpy
函数minimum()
和maximum()
时,结果的类型打印为numpy.int32
。然而,与numpy.int32
类型的比较失败(即使在演员之后)。这是一个错误吗?
g = np.ones((5, 5), dtype = np.bool)
h = np.maximum(g, 4)
i = np.int32(h)
print 'type of g ', g.dtype.type # prints <type 'numpy.bool_'>
print 'type of h ', h.dtype.type # prints <type 'numpy.int32'>
print 'type of i ', i.dtype.type # prints <type 'numpy.int32'>
print h.dtype.type == i.dtype.type # prints True
print h.dtype.type == np.int32 # prints False
print i.dtype.type == np.int32 # prints False
print i.dtype.type == np.bool_ # prints False
没有找到相关结果
已邀请:
5 个回复
薄扩络拜
返回最大值
和
,即
(
)。你得到一个四分之一的矩阵,它是整数类型。 如果您使用此语法进行类型比较,它们的工作方式为:
或更简单
。
苛肠倒俱
雇砰
渴翅吮斡撤
和
,它们在32位平台上都可以是32位。 Numpy中的当前实现为两者创建了单独的标量类型。当它们具有相同的大小时,两者在
比较中被处理相同(
是数组内容的描述符 - 与标量类型分开)。然而,如果你直接比较标量类型,实际上存在两个32位整数标量类型的事实。 是的,它有点令人困惑,可能会在某个时候修复。 但是,比较
时会遇到同样的问题。正确的方法是比较
而不是标量类型。
荆怖赡