У меня есть одномерный массив X с обоими элементами +/-.Я выделяю их знаки следующим образом:
idxN, idxP = X<0, X>=0
Теперь я хочу создать массив, значение которого зависит от знака X. Я пытался вычислить это, но он выдает синтаксическую ошибку в заголовке.
y(idxN) = [math.log(1+np.exp(x)) for x in X(idxN)]
y(idxP) = X(idxP)+[math.log(np.exp(-x)+1) for x in X(idxP)];
Является ли назначение LHS виновником?
Спасибо.
[Изменить] Полный код выглядит следующим образом:
y = np.zeros(X.shape)
idxN, idxP = X<0, X>=0
y(idxN) = [math.log(1+np.exp(x)) for x in X(idxN)]
y(idxP) = X(idxP)+[math.log(np.exp(-x)+1) for x in X(idxP)];
return y
Обратный отсчет:
y(idxN) = [math.log(1+np.exp(x)) for x in X(idxN)]
File "<ipython-input-63-9a4488f04660>", line 1
y(idxN) = [math.log(1+np.exp(x)) for x in X(idxN)]
^
SyntaxError: can't assign to function call