fre*_*rog 10 python arrays numpy
我有一个数组如下:
a=np.array([0.1, 0.2, 0.3, 0.7, 0.8, 0.9])
Run Code Online (Sandbox Code Playgroud)
我想要的是根据阈值将此向量转换为二进制向量.以threshold = 0.5为例,大于0.5的元素转换为1,否则为0.
输出向量应如下所示:
a_output = [0, 0, 0, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点
cs9*_*s95 25
np.wherenp.where(a > 0.5, 1, 0)
# array([0, 0, 0, 1, 1, 1])
Run Code Online (Sandbox Code Playgroud)
astype(a > .5).astype(int)
# array([0, 0, 0, 1, 1, 1])
Run Code Online (Sandbox Code Playgroud)
np.selectnp.select([a <= .5, a>.5], [np.zeros_like(a), np.ones_like(a)])
# array([ 0., 0., 0., 1., 1., 1.])
Run Code Online (Sandbox Code Playgroud)