切片numpy ndarray的通用方法

时间:2019-06-07 12:37:22

标签: numpy numpy-slicing numpy-indexing

给出一个numpy ndarray的起始索引和终止索引,如何获取切片窗口?所引用的ndarray的尺寸是未知的,因此预期的方法应该起作用,而与各个ndarray的尺寸无关。

我正在寻找如下功能:

def get_window(start_index, end_index, arr)
    # 'start_index' is a <list> / <tuple> of integers specifying the index of fist element of the block in the <ndarray> 'arr'
    # 'end_index' is a <list> / <tuple> of integers specifying the index of start element of the block in the <ndarray> 'arr'
    # 'arr' is a <ndarray>

    return arr[start_index : end_index]

如果知道ndarray的尺寸,例如len(arr.shape) = 3,那么我可以简单地定义函数,如下所示:

我正在寻找如下功能:

def get_window(start_index, end_index, arr)
    # 'start_index' is a <list> / <tuple> of integers specifying the index of fist element of the block in the <ndarray> 'arr'
    # 'end_index' is a <list> / <tuple> of integers specifying the index of start element of the block in the <ndarray> 'arr'
    # 'arr' is a <ndarray>

    return arr[start_index[0] : end_index[0], start_index[1] : end_index[1], start_index[2] : end_index[2]]

由于尺寸可以变化,因此我无法做到这一点,因此,我正在寻找通用的方法来实现这一目标。

预期的输出是由start_indexend_index标记的切片块。

0 个答案:

没有答案