Bonjour,

J'ai cette matrice :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?