如何在某些索引处复制numpy数组值

时间:2017-03-19 20:10:45

标签: python numpy multidimensional-array numpy-ndarray

我有一个numpy数组,我想将某些索引的部分数据复制到另一个数组。

arr = np.arange(10)
np.random.shuffle(arr)
print arr
[0 3 4 2 5 6 8 7 9 1]

我想复制索引的值

copy_indices = [3, 7, 8]

有没有好办法呢?

1 个答案:

答案 0 :(得分:1)

使用这种方法怎么样?

In [16]: arr
Out[16]: array([2, 9, 5, 6, 1, 4, 7, 8, 3, 0])

In [17]: copy_indices
Out[17]: [3, 7, 8]

In [18]: sliced_arr = np.copy(arr[copy_indices, ])

# alternatively
# In [18]: sliced_arr = arr[copy_indices, ]

In [19]: sliced_arr
Out[19]: array([6, 8, 3])

P.S。:高级索引(如此处)实际返回copy of the array。因此,使用np.copy()是可选的。