假设我有
a = array([[1, 2],
[3, 4]])
和
b = array([1,1])
我想在索引 a 中使用 b,即执行 a[b] 并得到 4 而不是 [[3, 4], [3, 4]]
我可能会做
a[tuple(b)]
有更好的方法吗?
谢谢
原文由 xster 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设我有
a = array([[1, 2],
[3, 4]])
和
b = array([1,1])
我想在索引 a 中使用 b,即执行 a[b] 并得到 4 而不是 [[3, 4], [3, 4]]
我可能会做
a[tuple(b)]
有更好的方法吗?
谢谢
原文由 xster 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设您要访问 a
的子向量,n 个索引对存储在 b
中,如下所示:
b = array([[0, 0],
...
[1, 1]])
这可以按如下方式完成:
a[b[:,0], b[:,1]]
对于单对索引向量,这会更改为 a[b[0],b[1]]
,但我猜 tuple
方法更易于阅读,因此更可取。
原文由 Brandlingo 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
根据 NumPy tutorial ,正确的做法是: