numpy 如何根据索引提取数组中的元素?

cl25kdpy  于 2022-12-23  发布在  其他
关注(0)|答案(2)|浏览(165)

我有一行A = [0 1 2 3 4]和一个索引I = [0 0 1 0 1],我想提取A中由I索引的元素,即[2, 4]

我的尝试:

import numpy as np
A = np.array([0, 1, 2, 3, 4])
index = np.array([0, 0, 1, 0, 1])
print(A[index])

结果并不如我所料:

[0 0 1 0 1]

你能详细说明一下如何实现我的目标吗?

pbgvytdp

pbgvytdp1#

我认为你需要布尔索引:

A[index.astype(bool)]
# array([2, 4])
v9tzhpje

v9tzhpje2#

如果有用的话,一个非numpy的方法来实现这个-它使用zip来合并每对元素,如果第二个为真,则返回第一个:
第一个月

相关问题