У меня есть следующий массив:
x = np.array([
[2, 0],
[5, 0],
[1, 0],
[8, 0],
[6, 0]])
Я узнал, что вы можете использовать логические операции для изменения выбранных значений в массиве numpy. Если я хочу изменить значение 2-го столбца на 1 для строк, где 1-е значение равно 2, 5 или 8, я могу сделать следующее:
x[x[:, 0] == 2, 1] = 1
x[x[:, 0] == 5, 1] = 1
x[x[:, 0] == 8, 1] = 1
, который изменяет вывод на:
[[2 1]
[5 1]
[1 0]
[8 1]
[6 0]]
Если бы это был "нормальный" python код, я знаю, что мог бы сделать:
if value in [2, 5, 8]: ...
Вместо:
if value == 2 or value == 5 or value == 8: ...
Есть ли сокращение сделать что-то подобное с numpy массивами?