Вы можете использовать xor следующим образом:
>>> c = (np.c_[:7] == 5).astype(int)
>>> c
array([[0],
[0],
[0],
[0],
[0],
[1],
[0]])
>>> c ^ (1, 0)
array([[1, 0],
[1, 0],
[1, 0],
[1, 0],
[1, 0],
[0, 1],
[1, 0]])
Я полагаю, это примерно так же быстро, как и получается; -)
Волшебство за этим - numpy
вещание.Вкратце, оператор xor ^
применяется к каждой паре между элементом столбца c
и элементом последовательности 1D (1, 0)
, ведущей к полной «таблице xor» между ними.