据我所见,indexing, slicing and iterating scipy教程没有介绍,所以让我在这里问一下:
说我已经
了x = np.array([[1,2],[3,4],[5,6],[7,8],[9,0]])
x: array([[1, 2],
[3, 4],
[5, 6],
[7, 8],
[9, 0]])
如何切割数组以获取第一行和最后一行:
y: array([[1, 2],
[3, 4],
[7, 8],
[9, 0]])
答案 0 :(得分:8)
我不知道是否有一种光滑的方式来做到这一点。您当然可以明确列出索引:
>>> x[[0,1,-2,-1]]
array([[1, 2],
[3, 4],
[7, 8],
[9, 0]])
或者使用r_
来帮助,如果我们想要从头部或尾部获得更多行,这可能会更方便:
>>> x[np.r_[0:2, -2:0]]
array([[1, 2],
[3, 4],
[7, 8],
[9, 0]])
答案 1 :(得分:2)
或者,您可以使用索引删除为
mask = np.ones(len(x), dtype=np.bool)
mask[2:3] = False # that you want to remove
y = x[mask]