gpt4 book ai didi

python - 如何取消除 argmax 之外的所有条目?

转载 作者:太空狗 更新时间:2023-10-30 02:15:35 28 4
gpt4 key购买 nike

假设我有一个像 a=[1,2,3,4,5] 这样的矩阵/数组/列表,我想取消除最大值之外的所有条目,所以它将是 a=[0,0,0,0,5]

我正在使用 b = [val if idx == np.argmax(a) else 0 for idx,val in enumerate(a)] 但是否有更好(更快)的方法(特别是对于超过 1-dim 的数组...)

最佳答案

您可以使用 numpy 作为就地解决方案。请注意,下面的方法将使 所有 匹配最大值等于 0。

import numpy as np

a = np.array([1,2,3,4,5])

a[np.where(a != a.max())] = 0

# array([0, 0, 0, 0, 5])

有关唯一最大值,请参阅 @cᴏʟᴅsᴘᴇᴇᴅ's solution .

关于python - 如何取消除 argmax 之外的所有条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49412136/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com