Bonjour,
J'ai un tableau numpy, disons par exemple:Je veux rajouter une 5e colonne qui ait pour valeurs soit la col 1 si celle-ci est inférieure à la col 0, soit la colonne 0 si la condition n'est pas respectée.Code:a=np.array([[0,1,2,4],[4,3,6,8],[9,5,7,2],[8,9,8,5],[0,5,3,8]])
Avec des booléens, si la condition est respectée, on a :qui retourneCode:x[:,1] < x[:,0]
e sais insérer une 5e col :Code:array([False, True, False, True], dtype=bool)
Question: comment faire pour remplacer les valeurs de la 5e col pour parvenir à :Code:np.hstack((a,np.zeros((5,1))))
De préférence en évitant les boucles (commeCode:
1
2
3
4
5 array([[0, 1, 2, 4, 0], [4, 3, 6, 8, 3], [9, 5, 7, 2, 5], [8, 9, 8, 5, 8], [0, 5, 3, 8, 0]])
D'avance, merciCode:
1
2 for i in range(5): a[i][4]=a[i][1] if a[i][1]<a[i][0] else a[i][0]
Dominique