gpt4 book ai didi

python - 重新排列二维 numpy 数组的每一行,并为每行指定一个索引

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

我有一个二维 numpy 数组 x

x = np.array([[6,7,8],                                             
[9,10,11]])

我想用索引重新排列数组 x 的每一行

index = np.array([[2,0,1],                                                  
[1,2,0]])

这样

result[i,:] = x[i,index[i,:]]

result = np.array([[8,6,7],
[10,11,9]])

我有一个很大的数组 x,所以我不想用循环来执行此操作。

最佳答案

您可以将 0 范围内的数字广播到数组的形状,并以与现在相同的方式对列进行索引:

x[np.arange(x.shape[0])[:, None], index]

array([[ 8,  6,  7],
[10, 11, 9]])

关于python - 重新排列二维 numpy 数组的每一行,并为每行指定一个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54895983/

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