2017-11-05 12 views
1

私は(400, 3, 3, 3)という形状の配列がnumpyであり、2つに分割したいので、(100, 3, 3, 3)(300, 3, 3, 3)のような配列が得られます。numpy配列を異なるサイズの2つのサブセットに分割する

私はnumpyの split方法、例えばで遊んでいた

:私が欲しいものを私に与えますが、それは半分ずつ同じサイズに元の配列を分割して、私はこれらを指定する方法がわからない

subsets = np.array_split(arr, 2) 

サイズ。それはおそらく、いくつかのインデックス(おそらく)で簡単だろうが、私はそれを行う方法がわからない。

私のコメントで述べたように
+2

'のX、Y =のARR [:100、...]、[100 :, ARR ... ] 'do'はすべきです... –

+1

@cᴏʟᴅsᴘᴇᴇᴅのようなスライス表記法を使用すると、潜在的にメモリが少なくなります(配列は基底のバッファを共有するため)。それが 'split'で起こるのかどうかは分かりませんが、もし必要なら' subsets = np.array_spit(arr、[100]) ' –

+0

と書くことができます。 –

答えて

2

、あなたはすべての軸を指定するEllipsis表記を使用することができます。

x, y = arr[:100, ...], arr[100:, ...] 
関連する問題