5
假设我有一个大小为n x m x k的numpy数组A和另一个大小为n x m的数组B,它的索引从1到k。 我想访问每个n×m切片A使用在这个地方给出的索引B, 给我一个大小为n x m的数组。多维度的numpy花式索引
编辑:这显然不是我想要的! [我可以实现使用take
这个是这样的:
A.take(B)
]编辑完
可以这样使用花哨的索引来实现? 我本来以为A[B]
会给出相同的结果,但结果 在一个大小为n x m x m x k(我真的不明白)的数组中。
的原因,我不希望使用take
是,我希望能够在这部分上指定的东西,像
A[B] = 1
唯一的工作解决方案,我至今是
A.reshape(-1, k)[np.arange(n * m), B.ravel()].reshape(n, m)
但肯定有一个更简单的方法?
第二个是。看来我误解了(或者沿着错误的轴心)。感谢您的澄清。 – 2012-01-05 14:07:38