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
中减少没有元素的数组有一个特例。