Considere os 3 arrays abaixo Retorne o valor do array xarr se o valor for True no array cond. Caso contrário, retorne o valor do array yarr. import numpy as np xarr = np.array([1.1, 1.2, 1.3, 1.4, 1.5]) yarr = np.array([2.1, 2.2, 2.3, 2.4, 2.5]) cond = np.array([True, False, True, True, False]) #Minha resposta ao problema result1 = np.arange(cond.size) a=0 for i in cond: if i == True: #print(xarr[a]) result1[a] = xarr[a] a=a+1 else: #print(yarr[a]) result1[a] = yarr[a] a=a+1 print(result1) Como resposta eu obtenho isso: [1 2 1 1 2] Mas gostaria de obter isso: [1.1 2.2 1.3 1.4 2.5] Fiquei confuso porque quando uso os "prints" que estão dentro dos "if/else", eles retornam o valor que eu desejo, mas quando atribuo eles ao novo "array" eles não vão como imagino. Qual a lógica que estou errado ou deixando passar? Continue reading...