【发布时间】:2018-11-21 21:07:49
【问题描述】:
正如documentation 解释的那样,我正在尝试访问 NumPy 数组的特定行和列,但我认为我遗漏了一些东西。
我有以下数组:
arr = np.random.randint(10, size=(6, 4))
array([[1, 9, 6, 4],
[8, 5, 0, 3],
[3, 7, 3, 2],
[1, 4, 8, 0],
[5, 5, 8, 0],
[0, 6, 4, 9]])
我想得到第一行和最后一行;以及第一、第三和最后一列,所以我正在尝试:
arr[(0, -1),(0, 1, 3)]
但这会产生以下错误:
IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (2,) (3,)
我想我误解了这种整数索引。我希望这个输出:
array([[1, 9, 4],
[0, 6, 9]])
我可以这样做但是感觉很尴尬:
arr[(0,-1),:][:,(0,1,3)]
如何获取不同维度的第 i 个元素?
【问题讨论】:
标签: python arrays python-2.7 numpy