簡體   English   中英

一維數組的Python遮罩

[英]Python masking of 1d array

說我有2個numpy數組

a = [0, 2, 4, 6]

b = [0.03, 0.78, 0.25, 0.47, 0.98, 0.58, 0.63]

我想返回一個第三個數組,該數組檢查數組a的索引在b中的位置,並返回該索引在b中的值,如下所示:

c = [0.3, 0.25, 0.98, 0.63]

我努力了

for i in range(len(b)):
if b[i] == a.any():
    c=[I]

但得到全0。

只需使用

c = b[a]

這將是b的視圖,因此,如果更改c,則也將更改b。 如果您不想這樣做,請使用.copy()

c = b[a].copy()

使用列表理解

a = [0, 2, 4, 6]
b = [0.03, 0.78, 0.25, 0.47, 0.98, 0.58, 0.63]
c = [b[i] for i in a]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM