gpt4 book ai didi

python - numpy 数组上的 2D argmax

转载 作者:行者123 更新时间:2023-11-30 22:26:14 26 4
gpt4 key购买 nike

从 numpy 数组开始 v:

v = \
np.array([[0, 0, 0, 0, 0],
[0, 0, 1, 0, 0],
[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 1, 0, 1],
[0, 0, 0, 0, 1],
[0, 0, 0, 1, 1]])

我想找到每列中的第一个非零值,并将这些值乘以 100。

我想要的结果是:

array([[  0,   0,   0,   0,   0],
[ 0, 0, 100, 0, 0],
[100, 0, 0, 0, 0],
[ 0, 100, 0, 0, 0],
[ 0, 0, 1, 0, 100],
[ 0, 0, 0, 0, 1],
[ 0, 0, 0, 100, 1]])

我想通过沿每个轴获取 argmax 来解决这个问题:

i = v.argmax(0)
j = v.argmax(1)
v[i, j] *= 100

我知道我没有正确使用 ij,那么如何解决这个问题?

最佳答案

您只想对列进行范围

v[v.argmax(axis=0), np.arange(v.shape[1])] *= 100

关于python - numpy 数组上的 2D argmax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47279261/

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