【发布时间】:2018-02-10 13:23:48
【问题描述】:
我有两个 numpy 数组。
x = [[1,2], [3,4], [5,6]]
y = [True, False, True]
我想获取X的元素,其中y的对应元素是True:
filtered_x = filter(x,y)
print(filtered_x) # [[1,2], [5,6]] should be shown.
我试过np.extract,但它似乎只在x 是一维数组时才有效。如何提取x的元素,y对应的值为True?
【问题讨论】:
-
x[y]。这称为布尔索引。
-
您可以尝试使用
[val for val in x if y[x.index(val)]]之类的列表解析。简洁大方。 -
@AsadMoosvi 并且比 numpy 内置函数慢,并且也不返回 np.array...