Arrays 从每行的特定列中获取值
我有一个带有一些值的数组Arrays 从每行的特定列中获取值,arrays,python-3.x,numpy,Arrays,Python 3.x,Numpy,我有一个带有一些值的数组X [[0.3,0.4,0.5], [0.1,0.7,0.9], . . . [0.3,0.6,0.9]] 索引为I=[0,2,1,2,0,…]的I have数组 我想根据数组I中的索引从数组X中获取每一行的值,就像,在数组I中,第一个值是0,所以从I中的第一行将从列0中获取值,即0.3,依此类推。 有没有可能在没有循环的情况下做到这一点 我的想法是: Y=X[:,I]没有意义 您就快到了,您需要的是在顶部添加一些奇特的索引: Y = X[np.arange(len(
X
[[0.3,0.4,0.5],
[0.1,0.7,0.9],
.
.
.
[0.3,0.6,0.9]]
索引为I=[0,2,1,2,0,…]
的I have数组
我想根据数组I
中的索引从数组X
中获取每一行的值,就像,在数组I
中,第一个值是0
,所以从I
中的第一行将从列0
中获取值,即0.3
,依此类推。
有没有可能在没有循环的情况下做到这一点
我的想法是:
Y=X[:,I]
没有意义 您就快到了,您需要的是在顶部添加一些奇特的索引:
Y = X[np.arange(len(I)),I]
这种索引告诉numpy选择
(i,i(i))
中的X
perfect:)我自己也不知道。非常感谢。如果你从未面对过,你就不会知道:)