Ich bin auf der Suche nach einer Möglichkeit, numpy N-d-Array basierend auf dem Schwellenwert mit nur einem Ausdruck binarisieren. Also ich habe so etwas wie dies:Numpy-Matrix-Binärisierung mit nur einem Ausdruck
np.random.seed(0)
np.set_printoptions(precision=3)
a = np.random.rand(4, 4)
threshold, upper, lower = 0.5, 1, 0
a ist jetzt:
array([[ 0.02 , 0.833, 0.778, 0.87 ],
[ 0.979, 0.799, 0.461, 0.781],
[ 0.118, 0.64 , 0.143, 0.945],
[ 0.522, 0.415, 0.265, 0.774]])
Jetzt kann ich diese 2 Ausdrücke Feuer:
a[a>threshold] = upper
a[a<=threshold] = lower
und erreichen, was ich will:
array([[ 0., 1., 1., 1.],
[ 1., 1., 0., 1.],
[ 0., 1., 0., 1.],
[ 1., 0., 0., 1.]])
Aber gibt es einen Weg, dies mit nur zu tun e Ausdruck?