Bonjour,
J'ai cette matrice :
1 2 3 4 5 6
| a=matrix([[ 3.15084000e+01, 3.75000000e+01, 3.16285000e+01,
3.25000000e+01, 3.15084000e+01],
[ 3.00000000e+01, 1.80000000e+01, 1.80000000e+01,
1.80000000e+01, 1.80000000e+01],
[ 1.02000000e-02, 1.00000000e-02, 1.00000000e+00,
1.00000000e+00, 1.00000000e-02]]) |
Puis celle-ci qui contient le minimum de chaque ligne de a :
Je voudrais récupérer l'indice de la colonne de a qui contient le premier minimum.
En faisant :
J'obtiens :
d=(matrix([[0, 0, 1, 1, 1, 1, 2, 2]]), matrix([[0, 4, 1, 2, 3, 4, 1, 4]]))
Ce qui me donne les indices de a qui correspondent aux minimums sur chaque ligne.
Il faudrait que je puisse "réduire" d pour avoir le premier minimum de chaque ligne :
e=(matrix([[0, 1, 2]]), matrix([[0, 1, 1]]))
Et ce que je cherche au final, c'est :
Mais pour passer de d à e, à part parcourir tout d[0] et tester, ou alors "spliter" a et b pour avoir toutes les lignes séparées puis faire les tests.
Ca me semble bien compliqué et pas vraiment optimisé.
Quelqu'un aurait-il une solution toute simple ?
Partager