小编wxb*_*xbx的帖子

1D阵列的高效Numpy 2D阵列构造

我有这样一个数组:

A = array([1,2,3,4,5,6,7,8,9,10])
Run Code Online (Sandbox Code Playgroud)

我试图得到这样的数组:

B = array([[1,2,3],
          [2,3,4],
          [3,4,5],
          [4,5,6]])
Run Code Online (Sandbox Code Playgroud)

每行(固定的任意宽度)移动一个.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]))
Run Code Online (Sandbox Code Playgroud)

python numpy

35
推荐指数
2
解决办法
1万
查看次数

标签 统计

numpy ×1

python ×1