跳过numpy数组的一维中的值

时间:2018-02-20 18:11:00

标签: python arrays numpy

我有一个numpy数组,其形状为(72,671)。通常我会在第一维中选择所有内容,如下所示:

new_var = old_var[0:72]

但是,对于一个文件,我需要在第一维上跳过#18。换句话说,我想选择0:17然后选择19:72(或者你可以根据包含的内容正确地写出来)。我试过了:

new_var=old_var[0:18,19:72]

但是这只在第一维中选择0:18,然后在第二维中选择19:72。至少这是我认为它正在做的事情,因为结果变量的长度是18.我无法找到如何纠正语法,所以任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:3)

我认为您可以使用np.r_

old_var = np.random.random((72,671))
new_var = old_var[np.r_[0:18,19:72]]
new_var.shape

输出:

(71, 671)

答案 1 :(得分:2)

您可以使用花式索引:

a[list(range(18)) + list(range(19, 72))]

np.vstack

np.vstack((a[:18], a[19:]))