【发布时间】:2016-10-05 05:29:20
【问题描述】:
我正在尝试了解 numpy 的组合切片和索引概念,但是我不确定如何从 numpy 的输出中正确获取以下结果(手动以便我们了解 numpy 进程如何组合切片和索引,哪个是先处理?):
>>> import numpy as np
>>> a=np.arange(12).reshape(3,4)
>>> a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>> i=np.array([[0,1],[2,2]])
>>> a[i,:]
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[ 8, 9, 10, 11]]])
>>> j=np.array([[2,1],[3,3]])
>>> a[:,j]
array([[[ 2, 1],
[ 3, 3]],
[[ 6, 5],
[ 7, 7]],
[[10, 9],
[11, 11]]])
>>> aj=a[:,j]
>>> aj.shape
(3L, 2L, 2L)
上面的输出让我对aj的形状如何变成(3,2,2)有点困惑,非常感谢任何详细的解释,谢谢!
【问题讨论】:
标签: python arrays numpy indexing