有一种很好的方法可以找到数组中不包括零的非零最小值/最大值here https://stackoverflow.com/questions/7164397/find-the-min-max-excluding-zeros-in-a-numpy-array-or-a-tuple-in-python:
import numpy as np
minval = np.min(a[np.nonzero(a)])
maxval = np.max(a[np.nonzero(a)])
但是,这不会立即起作用a
是一个二维或更多维数组,并且需要最小/最大轴。有什么简单的解决方案吗?
这是一个non-矢量化方法。可以通过将 0 值设置为向量化a.min()
/ a.max()
作为单独的步骤。
import numpy as np
a = np.array([[1, 2, 0],
[3, 1, 9],
[0, 3, 4]])
minval = np.min(np.where(a==0, a.max(), a), axis=0)
# array([ 1., 1., 4.])
maxval = np.max(np.where(a==0, a.min(), a), axis=0)
# array([ 3., 3., 9.])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)