Я пытаюсь присвоить значение по заданному c индексу вектору numpy, к которому я сначала хочу применить логическую маску (критически, я хочу, чтобы мои индексы ссылались на «маскированный» массив) , Однако, как ни странно, следующее не работает:
Допустим, я хочу изменить первое значение вектора «valid» (того, где маска имеет значение True), т. Е. Второе «absolute» значение вектора.
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])
Что я делаю не так?