从numpy数组的每一行中选择范围

时间:2018-07-02 18:43:53

标签: python arrays numpy

我有一个2D numpy数组,我需要从该数组的每一行中选择范围,即我需要执行以下操作:

arr = arr[:, 3:6]

但是我想使用两个一维数组代替36,它们包含所需范围的开始和结束索引。

  • arr行包含了坐标数据。
  • 每个范围的长度是相同的,并且事先已知。
  • 开始和结束索引与范围的长度对齐(例如,如果打包数据的长度为3,则范围的长度也为3,并且开始和结束索引为3的倍数)

如何在numpy中做到这一点(我需要它是有效的矢量化实现)?

示例:

arr = np.array([[0,1,2,3],
                [4,5,6,7]])
str_idx = [0, 2]
end_idx = [2, 4]

想要的结果:

selected = [[0,1],
            [6,7]]

0 个答案:

没有答案