gpt4 book ai didi

python - 对于 numpy 数组的每一行,将特定元素设置为 n

转载 作者:行者123 更新时间:2023-12-05 09:26:41 25 4
gpt4 key购买 nike

我有一个二维数组 arr .这是一个例子:

>> arr
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])

我还有一个二维索引数组 indices (与 indices.shape[0] == arr.shape[0]indices.shape[1] <= arr.shape[1] )。这是一个例子:

>>> indices
array([[0, 1],
[1, 2],
[0, 2],
[0, 2]])

现在,我想设置 arr 的一些元素到-1。具体来说,在 arr 的第一行,第一个和第二个元素应设置为 -1(因为 indices[0] == [0, 1] )。在第二排arr ,第二个和第三个元素应设置为 -1(因为 indices[1] == [1, 2] )。等等。

这是预期的结果:

array([[ -1, -1,  2],
[ 3, -1, -1],
[ -1, 7, -1],
[ -1, 10, -1]])

我试图寻找现有的解决方案,但没有找到任何解决方案。有什么建议吗?

最佳答案

广播任务:

>>> arr[np.arange(4)[:, None], indices] = -1
>>> arr
array([[-1, -1, 2],
[ 3, -1, -1],
[-1, 7, -1],
[-1, 10, -1]])

关于python - 对于 numpy 数组的每一行,将特定元素设置为 n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73553749/

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