【发布时间】:2014-07-08 21:15:34
【问题描述】:
我有一个给定的 numpy 数组和一个包含许多切片对象的列表(或者包含 (start, end) 元组)。我正在寻找从原始数组中删除切片对象位置并获得具有剩余值的第二个数组。
玩具示例:
myarray = np.arange(20)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19])
mylist=(slice(2,4),slice(15,19))
做某事,结果应该是
array([0, 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
数组可以有几十万,切片对象列表可以包含几千个元素,我需要经常运行操作,所以速度有点重要。
据我所知,Numpy delete 没有获取切片列表?
现在我正在生成我的切片对象列表的补码并对其进行切片,但是生成补码是一个有点尴尬的过程,我对切片列表进行排序然后遍历它,根据需要创建补码切片对象。我希望有一种我没有想到的更优雅的方式!
【问题讨论】: