花式索引要求您提供每个维度的所有索引。您为第一个提供3个索引,为第二个仅提供2个索引,因此会出现错误。您想做这样的事情:
>>> a[[[0, 0], [1, 1], [3, 3]], [[0,2], [0,2], [0, 2]]]array([[ 0, 2], [ 4, 6], [12, 14]])
当然写这很痛苦,所以您可以让广播帮助您:
>>> a[[[0], [1], [3]], [0, 2]]array([[ 0, 2], [ 4, 6], [12, 14]])
如果您使用数组而不是列表建立索引,则此 *** 作要简单得多:
>>> row_idx = np.array([0, 1, 3])>>> col_idx = np.array([0, 2])>>> a[row_idx[:, None], col_idx]array([[ 0, 2], [ 4, 6], [12, 14]])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)