python - 如何在numpy数组中找到最大负数和最小正数?

标签 python arrays numpy max minimum

给我一​​个包含正数和负数的数组。

import numpy as np
arr = np.array([-10.2, -5.3, -2.1, 0, 1.2, 3.4])

我想找到最大负数和最小正数对应的索引。在上面,我的预期结果是 24。有什么 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/

相关文章:

python - 用python NLTK转换否定句中的语句

php - 使用 PHP 将嵌套数组插入 MySQL 数据库

c - 在c中反转字符串数组的两种不同方法

python - Pycassa,线程池, "Exception in thread Thread-3 (most likely raised during interpreter shutdown):"

python - 调用不带括号的 python 类有什么作用?

python - 使用 Python Paramiko 通过 SCP 在两个远程 Linux 服务器之间复制文件

javascript - 添加和显示数组问题

python - 为什么这个 PIL 调用会使 python 崩溃?

python - matplotlib 1.4.2 与 Seaborn : line markers not functioning

python - 将给定 URL 的 Jpeg 图像下载到 numpy 数组中