Usm*_*riq 4 python arrays numpy
我试图在 2d numpy 数组的每一行中找到最小的非零值,但尚未找到一个优雅的解决方案。我看过其他一些帖子,但没有一个解决完全相同的问题,例如
2d 数组中的最小值或1d 数组中排除零的最小/最大值。
例如对于给定的数组:
x = np.array([[3., 2., 0., 1., 6.], [8., 4., 5., 0., 6.], [0., 7., 2., 5., 0.]])
Run Code Online (Sandbox Code Playgroud)
答案是:
[1., 4., 2.]
Run Code Online (Sandbox Code Playgroud)
一种方法是将零重新分配给 np.inf,然后每行取最小值:
np.where(x>0, x, np.inf).min(axis=1)
Run Code Online (Sandbox Code Playgroud)
输出:
array([1., 4., 2.])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2370 次 |
| 最近记录: |