2017-03-19 17 views
0

私はnumpy配列を持っています。特定のインデックスの配列の一部を別の配列にコピーしたいと思います。私は特定のインデックスでnumpyの配列値をコピーする方法

copy_indices = [3, 7, 8] 

指標で値をコピーしたい

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

これを行うには、何か良い方法はありますか?

+2

'newarr = arr [copy_indices]'です。 – Evert

+0

あなたは正しい@Evertです – kmario23

答えて

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()の使用はオプションです。

関連する問題