如何在某些索引处复制 numpy 数组值
How to copy numpy array values at certain indices
我有一个 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]
有什么好的方法吗?
使用这种方法怎么样?
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.: 高级索引(如此处)实际上 returns copy of the array。因此,np.copy()
的使用是可选的。
我有一个 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]
有什么好的方法吗?
使用这种方法怎么样?
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.: 高级索引(如此处)实际上 returns copy of the array。因此,np.copy()
的使用是可选的。