用条件替换数组中的值

时间:2016-06-21 10:33:24

标签: python arrays if-statement numpy

我有这个简化的程序来替换满足条件的数组中的值:

formula1=2*2
formula2=5*2
formula3=4*4

array = np.random.rand(2,4,10)
for n,i in enumerate(array):
    if i>0.5: #find value in array with this condition
        formula = formula1
        array[n] = array[n]*formula #replace the found value with this value
    elif i <0.1:
        formula = formula2
        array[n] = array[n]*formula
    else:
        formula = formula3
        array[n] = array[n]*formula
print array    

导致错误消息:&#39;具有多个元素的数组的真值是不明确的。使用a.any()或a.all()&#39;。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

要枚举数组,您可以使用np.ndenumeratedocumentation here):

for n, i in np.ndenumerate(array):
    ...