gpt4 book ai didi

python - numpy ufunc reducer 的标识值

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:11 27 4
gpt4 key购买 nike

我有一个 numpy 数组,我想找到它的最大元素,所以我调用:

x = foo.max()

问题是 foo 有时是一个空数组,max 函数(可以理解)抛出:

ValueError: zero-size array to reduction operation maximum which has no identity

这引出了我的问题:

有没有办法为缩减操作提供标识值? (理想情况下,一个适用于具有 reduce 方法的任意 numpy ufuncs 的方法。)或者我坚持这样做:

if foo.size > 0:
x = foo.max()
else:
x = 0 # or whatever identity value I choose

最佳答案

当然,解决这个问题的“pythonic”方法是:

def safe_max(ar,default=np.nan):
try:
return np.max(ar)
except ValueError:
return default

x = safe_max(foo,0)

考虑到没有定义空序列的最大值,这似乎也是最合乎逻辑的方法。

关于python - numpy ufunc reducer 的标识值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26787477/

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