我正在尝试使用另一个数组选择多维数组的子集,例如,如果我有:
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:无效语法")
答案 0 :(得分:4)
您可以使用numpy.index_exp
(docs)执行此操作,如下所示:
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]