相关疑难解决方法(0)

获取numpy数组的所有子序列

给定一个大小n和整数的numpy数组,m我想生成m数组的所有连续长度子序列,最好是作为二维数组.

例:

>>> subsequences(arange(10), 4)

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

我能做到这一点的最好方法是

def subsequences(arr, m):
    n = arr.size
    # Create array of indices, essentially solution for "arange" input
    indices = cumsum(vstack((arange(n - m + 1), ones((m-1, n - m + 1), int))), 0)
    return arr[indices]
Run Code Online (Sandbox Code Playgroud)

是否有一个更好的,最好是内置的功能,我错过了?

python arrays numpy

4
推荐指数
2
解决办法
1747
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1