だから私はこれをすると言います
x = np.arange(0, 3)
を与える
array([0, 1, 2])
しかし、私は何が好きですか
x = np.arange(0, 3)*repeat(N=3)times
取得するため
array([0, 1, 2, 0, 1, 2, 0, 1, 2])
だから私はこれをすると言います
x = np.arange(0, 3)
を与える
array([0, 1, 2])
しかし、私は何が好きですか
x = np.arange(0, 3)*repeat(N=3)times
取得するため
array([0, 1, 2, 0, 1, 2, 0, 1, 2])
に関する最近の質問をいくつか見ましたresize
。頻繁に使用されるわけではありませんが、必要なことを行う 1 つのケースを次に示します。
In [66]: np.resize(np.arange(3),3*3)
Out[66]: array([0, 1, 2, 0, 1, 2, 0, 1, 2])
これを行う方法は他にもたくさんあります。
In [67]: np.tile(np.arange(3),3)
Out[67]: array([0, 1, 2, 0, 1, 2, 0, 1, 2])
In [68]: (np.arange(3)+np.zeros((3,1),int)).ravel()
Out[68]: array([0, 1, 2, 0, 1, 2, 0, 1, 2])
np.repeat
私たちが望むように繰り返さない
In [70]: np.repeat(np.arange(3),3)
Out[70]: array([0, 0, 0, 1, 1, 1, 2, 2, 2])
しかし、それでも作り直すことができます (これは少し高度です):
In [73]: np.repeat(np.arange(3),3).reshape(3,3,order='F').ravel()
Out[73]: array([0, 1, 2, 0, 1, 2, 0, 1, 2])
これはどう?
arr = np.arange(3)
res = np.hstack((arr, ) * 3)
出力
array([0, 1, 2, 0, 1, 2, 0, 1, 2])
私が言うオーバーヘッドはあまりありません。