Возможно ли это сделать с помощью Numpy и с хорошей производительностью?
Исходный двумерный массив:
array([[0, 1, 1, 1, 1, 0],
[0, 0, 1, 0, 0, 0],
[1, 0, 0, 0, 0, 1]])
Если сумма каждой строки меньше 4, установите последний элемент вкаждая строка в 1:
array([[0, 1, 1, 1, 1, 0],
[0, 0, 1, 0, 0, 1],
[1, 0, 0, 0, 0, 1]])
Разделите каждый элемент в каждой строке на сумму каждой строки и получите результат:
array([[0, 0.25, 0.25, 0.25, 0.25, 0],
[0, 0, 0.5, 0, 0, 0.5],
[0.5, 0, 0, 0, 0, 0.5]])