[英]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.