给我一个包含正数和负数的数组。
import numpy as np
arr = np.array([-10.2, -5.3, -2.1, 0, 1.2, 3.4])
我想找到最大负数和最小正数对应的索引。在上面,我的预期结果是 2
和 4
。有什么 numpy 技巧可以实现这一点吗?我在此链接中找到了解决方案,但我想知道如何通过 numpy 函数来完成此操作:
Finding index of largest negative and smallest positive element in array
最佳答案
用-inf
替换非负值,然后使用argmax
找到最大的负值:
np.where(arr < 0, arr, -np.inf).argmax()
# 2
类似地,用 inf
替换非正值,然后使用 argmin
找到最小的正值:
np.where(arr > 0, arr, np.inf).argmin()
# 4
关于python - 如何在numpy数组中找到最大负数和最小正数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55769522/