У меня есть двумерный массив
X
array([[2, 3, 3, 3],
[3, 2, 1, 3],
[2, 3, 1, 2],
[2, 2, 3, 1]])
и одномерный массив
y
array([1, 0, 0, 1])
Для каждой строки X я хочу найти индекс столбца, где X имеет наименьшее значение, а y имеет значение 1, и установить для соответствующей пары столбцов строк в третьей матрице значение 1
Например, в случае первой строки X индекс столбца, соответствующий минимальному значению X (только для первой строки) и y = 1, равен 0, тогда я хочу Z [0,0] = 1 и все остальные Z [0, i] = 0.
Аналогично, для второй строки индекс столбца 0 или 3 дает наименьшее значение X при y = 1. Затем я хочу либо Z [1,0], либо Z [1,3] = 1 (предпочтительно Z [1,0] = 1 и все остальные Z [1, i] = 0, поскольку столбец 0 является первым вхождением)
Мой окончательный массив Z будет выглядеть как
Z
array([[1, 0, 0, 0],
[1, 0, 0, 0],
[1, 0, 0, 0],
[0, 0, 0, 1]])