IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

Indice de la colonne du minimum


Sujet :

Calcul scientifique Python

  1. #1
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 479
    Points : 281
    Points
    281
    Par défaut Indice de la colonne du minimum
    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 ?

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Utiliser argmin ?

  3. #3
    Membre actif
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 479
    Points : 281
    Points
    281
    Par défaut
    Oups !

    J'ai bien regardé toutes les fonctions de numpy, mais celle-là, elle est passée à travers.

    Je trouve donc avec a.argmin(axis=1) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    matrix([[0],
            [1],
            [1]])
    Pile-poil.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/04/2015, 15h25
  2. Erreur PGSQL, l'indice de la colonne est hors limite
    Par RobertHue dans le forum iReport
    Réponses: 1
    Dernier message: 17/04/2012, 14h47
  3. Mettre tous les chiffres en indices sur une colonne
    Par ledisciple dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/08/2011, 15h29
  4. Réponses: 1
    Dernier message: 03/11/2010, 11h41
  5. Minimum entre deux colonnes
    Par keikun dans le forum Requêtes
    Réponses: 5
    Dernier message: 18/08/2005, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo