Nx2次元のnumpy配列があります。(2 * N)x 2を作成し、各列を繰り返します。このタスクを実行するために、以下に書いたものよりも効率的な方法があるかどうか知りたいです。
>>> a = np.array([[1,2,3,4],
[2,4,6,8]])
>>> b = np.array(zip(a.T,a.T))
>>> b.shape = (2*len(a[0]), 2)
>>> b.T
array([[1, 1, 2, 2, 3, 3, 4, 4],
[2, 2, 4, 4, 6, 6, 8, 8]])
上記のコードは、おそらく。が原因で、numpy標準では低速zip
です。numpy
置き換えられる機能はありzip
ますか?または、これを完全に行うためのより良い方法はありますか?