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

Python Discussion :

degager l'indice d'une valeur minimum trouver au sein d'un array d'array (matrice)


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut degager l'indice d'une valeur minimum trouver au sein d'un array d'array (matrice)
    salut,
    j'ai le code suivant , je veux degager l'indice de l'array ayant la valeur minimum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for i in ACL-1:
        print (i)
        sum=0
        for j in i:
            print ("ggg",j)
            sum+= ECM[j-1]
        SUM.append(sum)
        print(sum)
    print(SUM)
    SUM=asarray(SUM)
    min=SUM.min()

  2. #2
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut
    cette instruction donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (array([0], dtype=int32),)
    alors que je veux pas l'indice au sein de l'array mais l'indice du grand array le contenant la valeur minimum par exemple "22.0"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [[123. 125. 134. 130.]
     [101. 178. 172. 102.]
     [155. 107. 135.  70.]
     ...
     [22. 159. 163. 127.]
     [142. 152. 178. 136.]
     [140. 103. 141. 213.]]

  3. #3
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Salut,

    Je pense que vous cherchez np.argmin(). Cette fonction retourne l'indice de l'élément le plus petit d'une matrice, après l'avoir "aplatie" (soit transformée en 1D):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import numpy as np
     
    a = np.array([
        [123., 125., 134., 130.],
        [101., 178., 172., 102.],
        [155., 107., 135.,  70.],
        [22., 159., 163., 127.],
        [142., 152., 178., 136.],
        [140., 103., 141., 213.],
        ])
     
    idx = np.argmin(a)
    val = a.flatten()[idx]
    print(idx, val)
    >>> 12 22.0
    J

  4. #4
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut
    Citation Envoyé par Julien N Voir le message
    Salut,

    Je pense que vous cherchez np.argmin(). Cette fonction retourne l'indice de l'élément le plus petit d'une matrice, après l'avoir "aplatie" (soit transformée en 1D):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import numpy as np
     
    a = np.array([
        [123., 125., 134., 130.],
        [101., 178., 172., 102.],
        [155., 107., 135.,  70.],
        [22., 159., 163., 127.],
        [142., 152., 178., 136.],
        [140., 103., 141., 213.],
        ])
     
    idx = np.argmin(a)
    val = a.flatten()[idx]
    print(idx, val)
    >>> 12 22.0
    J
    oui c'est ce que j'ai déjà fait

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Si vous voulez 22.0 vous voulez une valeur et non l'indice.
    Et si vous écrivez ind=where(SUM.min()) SUM.min() va retourner un nombre qui passer à where retournera l'index d'un tableau de dimension nulle.

    Ce que vous voulez faire n'est pas clair et la façon dont vous vous y prenez n'arrange rien.
    Partez d'un tableau comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [ [2, 3, 4],
      [3, 2, 5],
      [5, 6, 7],
    ]
    déjà c'est plus facile de raconter ce que vous voulez et de poster un code complet qui permette de reproduire/comprendre ce que vous avez essayé de faire.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Valider avec une valeur minimum
    Par dafalri dans le forum Zend_Form
    Réponses: 2
    Dernier message: 19/06/2009, 15h27
  2. tableau+récupérer indice d'une valeur choisie
    Par jacko2 dans le forum Langage
    Réponses: 3
    Dernier message: 14/07/2008, 14h24
  3. Comparaison d'une valeur pour trouver la plus proche
    Par Falcdyr dans le forum VBA Access
    Réponses: 4
    Dernier message: 16/04/2008, 17h10
  4. incrementer l'indice d'une valeur
    Par cheuch dans le forum Général Python
    Réponses: 2
    Dernier message: 28/12/2006, 23h31
  5. Récupérer l'indice d'une valeur donnée dans un select
    Par mgemc2 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/08/2006, 11h31

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