为数组中的各种计算设置正确的语句

时间:2013-12-06 20:10:44

标签: arrays if-statement numpy while-loop

我有一个数组

 a = np.array([1.5, 0.55, 3.0, 0.24])

我想创建一个声明来创建一个新的数组,使得a [i]> 1然后b = 1.0 * a并且一切都是b = 2.0 * a。我不确定这对于if或while语句是否会更好。我只是想让我的b阵列成为这样:

b = [1.5, 1.10, 3.0, 0.48])

2 个答案:

答案 0 :(得分:3)

怎么样:

b = a + (a <= 1) * a

或者您可以使用numpy.where

b = numpy.where(a > 1, a, 2 * a)

答案 1 :(得分:1)

尝试:

a = np.array([1.5, 0.55, 3.0, 0.24])
a[ a <= 1] *= 2
print a