我有一个 numpy 数组 A,其中包含 0 到 1 之间的值。我想创建另一个 numpy 数组 y,如果 A(i) >= 0.5,则 y(i) = 1,并且 y(i) =如果 A(i) < 0.5,则为 0。我使用了以下python代码:
f=lambda v: 1 if v>0.5 else 0
vf=np.vectorize(f)
Y=vf(A)
有没有办法在一行命令而不是三行中执行此功能?
import numpy
A = numpy.random.rand(10)
print(A)
阵列A:
[ 0.76702953 0.89697124 0.54573644 0.48079479 0.39556016 0.50646642
0.45998033 0.11159339 0.69824144 0.37451713]
创建另一个 numpy 数组y
,例如y(i) = 1
ifA(i) >= 0.5
和y(i) = 0
if的值A(i) < 0.5
。
Y = (A >= 0.5).astype(int)
print(Y)
数组Y:
[1 1 1 0 0 1 0 0 1 0]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句