ufunc最大值和最小值的Numpy标识值
为什么ufunc最大值和最小值的Numpy标识值,numpy,Numpy,为什么np.maximum.identity和np.minimum.identity都等于None?我希望最大值的标识为-np.inf,最小值的标识为np.inf。使用None作为最大值/最小值的操作数会返回错误,因此必须进行一些内部转换?除了注释之外,np.inf的问题在于键入。 事实上,如果将-np.inf用于最大值,则结果对于整数来说会很奇怪,对于结构化类型(实际上,任何非浮点类型)来说可能都是错误的。以下是一个例子: empty=np.array([],dtype=np.int32) 打
np.maximum.identity
和np.minimum.identity
都等于None
?我希望最大值的标识为-np.inf
,最小值的标识为np.inf
。使用None
作为最大值/最小值的操作数会返回错误,因此必须进行一些内部转换?除了注释之外,np.inf
的问题在于键入。
事实上,如果将-np.inf
用于最大值,则结果对于整数来说会很奇怪,对于结构化类型(实际上,任何非浮点类型)来说可能都是错误的。以下是一个例子:
empty=np.array([],dtype=np.int32)
打印(np.maximum.reduce(空,初始值=-np.inf))
打印(np.minimum.reduce(空,初始值=np.inf))
其结果是:
-2147483648
-2147483648
np.maximum.reduce([],initial=np.inf)
好的,我想我现在明白了。只有当数组的大小大于0(非空)时,-np.inf
标识才会起作用。因此,在np.max
中减少没有元素的数组有一个特例。