【发布时间】:2020-05-09 13:10:40
【问题描述】:
我试图在特定索引处为一个 numpy 向量分配一个值,我首先要在该向量上应用一个布尔掩码(重要的是,我希望我的索引引用“掩码”数组)。然而,令人惊讶的是,以下方法似乎不起作用:
假设我想更改“有效”向量的第一个值(掩码为 True 的那个),即向量的第二个“绝对”值。
import numpy as np
x = np.full(4, np.nan)
mask = np.array([False, True, True, True])
index = 0
x[mask][index] = 3
x
>>> array([nan, nan, nan, nan])
我做错了什么?
【问题讨论】:
-
x[np.where(mask)[0][index]] = 3???即使用 'where' 获取主数组对应的索引。
标签: python arrays numpy indexing boolean