选择具有数组

时间:2016-05-12 10:10:01

标签: python arrays numpy subset slice

我正在尝试使用另一个数组选择多维数组的子集,例如,如果我有:

a=np.linspace(1,30,30)
a=a.reshape(5,3,2)

我想采用子集[:,0,1],我可以通过说

来做
a_subset=a[:,0,1]

但是,有没有办法定义一个指定该子集的数组/列表然后减去它?我的想法是做一些事情:

b=[:,0,1]
a_subset=a[b]

不能用作":"不被接受为项目(" SyntaxError:无效语法")

1 个答案:

答案 0 :(得分:4)

您可以使用numpy.index_expdocs)执行此操作,如下所示:

import numpy as np

a = np.linspace(1, 30, 30)
a = a.reshape(5, 3, 2)

b = np.index_exp[:,0,1]
a_subset = a[b]