gpt4 book ai didi

python - 从另一个数组更新 numpy 二维数组索引

转载 作者:行者123 更新时间:2023-12-01 06:20:57 24 4
gpt4 key购买 nike

是否有一种 numpy 方法可以在不使用循环的情况下执行以下操作?

A = np.array([[1,1],[2,2],[3,3],[4,4],[5,5]])
I = np.array([0, 1, 0, 1, 1])
V = np.array([6, 6, 6, 6, 6])

我想更新A,使其在I指定的相应索引中具有6。所以A变成...

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

尝试了以下方法,但没有成功..

A[I] = V
A[:,I] = V

最佳答案

尝试:A[np.arange(len(A)), I] = V:

In [15]: import numpy as np                                                                                              

In [16]: A = np.array([[1,1],[2,2],[3,3],[4,4],[5,5]])

In [17]: I = np.array([0, 1, 0, 1, 1])

In [18]: V = np.array([6, 6, 6, 6, 6])

In [19]: A[np.arange(len(A)), I] = V

In [20]: A
Out[20]:
array([[6, 1],
[2, 6],
[6, 3],
[4, 6],
[5, 6]])

关于python - 从另一个数组更新 numpy 二维数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60358835/

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