python - 在具有排除索引的数组中找到最大值

标签 python arrays numpy

在 Python 中,我有一个包含 10 个数字的列表。我知道我可以通过执行以下操作找到列表中的最大值:

max = numpy.max(list)

我还有一个索引列表,在查找最大值时我不想包含这些索引。

i.e. exclude_indices = [2,3,7]

所以我想在不在索引 2,3 或 7 处的数字列表中搜索最大值。

我确定之前已经回答过这个问题,但我不确定如何搜索它。

谢谢。

最佳答案

您可以使用 masked array :

>>> arr = np.arange(10)
>>> indices = [2, 3, 9]
>>> mask = np.zeros(arr.size, dtype=bool)
>>> mask[indices] = True
>>> a = np.ma.array(arr, mask=mask)
>>> np.max(a)
8

关于python - 在具有排除索引的数组中找到最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26057332/

相关文章:

Python - 为什么 time.sleep 会导致内存泄漏?

python - 使用map和lambda来模拟字典理解

python - Google App Engine 不断部署新实例,或者根本不部署(服务器错误)

arrays - delphi中如何更改 bool 数组的值

numpy - 沿给定轴将多维零数组插入 NumPy 数组

python - 什么更快 : Python 3's ' len' or numpys shape?

python - 根据边际税率表计算应纳税额

java - Java TicTacToe 游戏中的行和列搜索

php - 在函数中使用 PDO 返回一些值

python - numpy 或 scipy 有哪些可能的计算可以返回 NaN?