从numpy数组中获取几个切片

时间:2019-05-16 15:18:10

标签: python arrays numpy indexing slice

说我想将第ith列与从yth列到最后一列的每一列一起使用。

示例:

import numpy as np
a = np.random.rand(50).reshape(5,10)

现在,说我想把第二列以及从#7到最后一列的所有列都放在上面。

我可以像这样切几片:

a[:,[2,4,8]]

但是,执行以下操作的正确方法是什么?:

a[:,[1,6:]]

此方法当前会导致语法错误。

1 个答案:

答案 0 :(得分:0)

您可以使用np.r_串联多个可以沿第二个轴应用的多个切片:

a[:, np.r_[1, 6:a.shape[1]]]

快速检查:

np.allclose(a[:, np.r_[1, 6:a.shape[1]]],  a[:, [1,6,7,8,9]])
# True