python之使用另一个数组作为索引从数组中选择元素

yxwkf 阅读:10 2024-05-29 10:23:45 评论:0

说我有一个数组

A = array([[1,2,3], 
           [4,5,6], 
           [7,8,9]]) 

索引数组是
B = array([[1], # want [0, 1] element of A 
           [0],  # want [1, 0], element of A 
           [1]])  # want [2, 1] elemtn of A 

通过这个索引数组 B , 我想要一个 3-by-1数组,其元素取自数组 A , 那是
C = array([[2], 
           [4], 
           [8]]) 

我试过 numpy.choose ,但我没有做到这一点。

请您参考如下方法:

为了答案的完整性......花式索引数组被广播到一个共同的形状,所以以下也有效,并且让你免于最后的 reshape :

>>> A[np.arange(3)[:, None], B] 
array([[2], 
       [4], 
       [8]]) 


标签:Python
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号