Давайте предположим a
и b
приведены ниже: -модифицирующих значений в массиве Numpy
a = np.arange(5)
b = [0,1,2]
То, что я хочу, что для индексов, за исключением тех, в b
, значение в a
должно быть равно -1. Таким образом, в приведенном выше случае a
будет равна
a = array([0, 1, 2, -1, -1])
Существует метод, который я знаю то есть
a[list(set(a)-set(b))] = -1
но занимает слишком много времени, и приводит к слишком много сложность когда на самом деле написав код. Как всегда, я ищу лучшие методы, чем выше. Не стесняйтесь использовать любые необходимые инструменты. Другой пример (на всякий случай): - если
a = np.arange(12)
b = [3,5,6]
Тогда то, что я действительно хочу a = array([-1, -1, -1, 3, -1, 5, 6, -1, -1, -1, -1, -1])
P.S. Не волнуйтесь a
всегда будет иметь вид np.arange(int)
и без значения b
превышает длину a