假设我有一个numpy数组:
arr = np.array([1,2,3,4,4,5,3,2,10])
和索引数组:
indices = np.array([0,1,4,6])
我可以编写一个完成这项工作的简单函数,但我想知道numpy是否有像np.get(arr, indices)
这样的内置函数,在这种情况下返回np.array([1,2,4,3]
。
答案 0 :(得分:1)
当选择对象是非元组序列对象,ndarray(数据类型为integer或bool)或具有至少一个序列对象或ndarray(数据类型为integer或bool)的元组时触发。有两种类型的高级索引:整数和布尔值。
高级索引始终返回数据的副本(与返回视图的基本切片形成对比)。
您的情况是整数高级索引,您可以在其中传递要检索的索引数组。正如sascha在评论中指出的那样,这将创建数据的副本,因此新数组将独立于原始数组存在(即,写入它不会修改原始数组)。