Это вообще законно? Красиво, конечно… но как-то непонятно. Такое надо просто помнить? Или есть правило в языке, согласно которому можно понять, что оно должно работать именно так? Или это фича фреймворка numpy?
Алан Гибизов, это удобнейшая фича numpy.
Выражение a == 1 вернёт массив из логических элементов такого же размера, как и a. Каждый элемент будет содержать результат сравнения соответствующего элемента a с единицей.
А далее используется тот факт, что в питоне int(True) == 1. Тогда сумма элементов логического массива будет равна количеству истинных элементов в нём.