Sto cercando un modo per binarizzare l'array N-d numerico basato sulla soglia utilizzando solo un'espressione. Così ho qualcosa di simile:Binarizzazione della matrice Numpy usando una sola espressione
np.random.seed(0)
np.set_printoptions(precision=3)
a = np.random.rand(4, 4)
threshold, upper, lower = 0.5, 1, 0
un 'ora:
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]])
Ora posso licenziare queste 2 espressioni:
a[a>threshold] = upper
a[a<=threshold] = lower
e raggiungere ciò che voglio:
array([[ 0., 1., 1., 1.],
[ 1., 1., 0., 1.],
[ 0., 1., 0., 1.],
[ 1., 0., 0., 1.]])
Ma c'è un modo per farlo con solo Espressione?