在Numpy中移动非重叠窗口

2024-03-29 01:44:31 发布

您现在位置:Python中文网/ 问答频道 /正文

在numpy数组上移动窗口的最佳方法是什么,这样每个单独的块都不会与前一个块重叠,并且块之间有1个元素的间隙?我想我应该用np.hstack公司,但我搞不清切片模式。在

基本上我要找的是:

a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
result = np.array([[0, 1, 2, 3],
                   [5, 6, 7, 8])

谢谢!在


Tags: 方法numpy元素np模式公司切片数组
2条回答

在您的简短示例中,您想要实现的目标可以通过重塑数组,然后删除最后一列来创建一个“间隙”。在

import numpy as np

a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

# get length of flat array
a_length, =  a.shape

# reshape array 
#(column by row must respect number of elements)
b = a.reshape(( 2, a_length/2 ))

# assign array except last column to a variable
result = b[:,:-1]
print result

你的问题是否足够笼统?在

相关问题 更多 >