【发布时间】:2019-01-11 08:17:17
【问题描述】:
我有一个二维数组A 和一个索引列表idx,例如:
A = np.array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.],
[ 0., -1., 0.],
[ 0., 0., 5.]])
idx = np.array([2, 1, 0, 1, 2])
我正在尝试沿列轴选择由idx 索引的A 的元素(在此示例中:array([0., 1., 0., -1., 5.]))。我怎么能在没有循环的情况下做到这一点?
谢谢!
【问题讨论】:
-
为什么不想使用循环? - 这可以通过
for循环轻松解决。 -
@Alfie 因为 numpy 通常比 for 循环快得多。
-
@Alfie 正如@Luca 所说,numpy 操作比 Python 中的循环效率更高,除此之外,矩阵
A在我的问题中具有巨大的维度。
标签: python numpy search indexing