从一维数组构建高效的Numpy 2D数组

我有一个像这样的数组:


A = array([1,2,3,4,5,6,7,8,9,10])

我试图得到这样的数组:


B = array([[1,2,3],

          [2,3,4],

          [3,4,5],

          [4,5,6]])

每行(具有固定的任意宽度)每行偏移一个。A的数组是10k记录长,我试图在Numpy中找到一种有效的方法。目前,我正在使用vstack和for循环,这很慢。有没有更快的方法?


编辑:


width = 3 # fixed arbitrary width

length = 10000 # length of A which I wish to use

B = A[0:length + 1]

for i in range (1, length):

    B = np.vstack((B, A[i, i + width + 1]))


守候你守候我
浏览 675回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python