Partage
  • Partager sur Facebook
  • Partager sur Twitter

[numpy]trouver les sommets

    17 mai 2011 à 14:39:34

    bonjour,

    soit un array comme ceci:
    array([[0,0,1,2,5 ,9 ,6,1,0,0,0,0,3,4,8,1,0,0,0],
           [0,0,1,2,25,13,6,1,0,0,0,0,3,4,9,1,0,0,0]])
    


    il faudrait pour chaque ligne trouver les index des sommets à droite et à gauche de la liste.

    Par exemple pour [0,0,1,2,5 ,9 ,6,1,0,0,0,0,3,4,8,1,0,0,0]
    les sommets sont 9 et 8, soit les index 5 et 14.

    je pensais donc rechercher l'index de la valeur X[n] tel que X[n] > X[n+1] en parcourant depuis la gauche
    puis pareil en parcourant depuis la droite.

    je sais faire avec la lib standard de python, par contre je suis totalement perdu dans la multitude de fonctions et methodes de numpy.

    merci pour votre aide ;)
    • Partager sur Facebook
    • Partager sur Twitter

    Python c'est bon, mangez-en. 

    Anonyme
      17 mai 2011 à 17:17:29

      >>> a = np.array([[0,0,1,2,5 ,9 ,6,1,0,0,0,0,3,4,8,1,0,0,0],
      ...        [0,0,1,2,25,13,6,1,0,0,0,0,3,4,9,1,0,0,0]])
      >>> np.where(a == 8) 
      (array([0]), array([14])) # ligne 0, colonne 14
      >>> np.where(a == 9)
      (array([0, 1]), array([ 5, 14])) # ligne 0 colonne 5 et ligne 1 colonne 14
      
      • Partager sur Facebook
      • Partager sur Twitter
        17 mai 2011 à 17:52:36

        Quand tu dis "sommets", tu parles des maximums ?
        • Partager sur Facebook
        • Partager sur Twitter
        yjltg.
          17 mai 2011 à 18:21:09

          c'est x[n] pour x[n-1]<x[n]>=x[n+1]
          il faut le 1er et le dernier n qui satisfait l'équation.
          • Partager sur Facebook
          • Partager sur Twitter

          Python c'est bon, mangez-en. 

          Anonyme
            17 mai 2011 à 19:40:02

            Je ne pense pas que tu puisses faire cela sans parcourir la liste.
            • Partager sur Facebook
            • Partager sur Twitter

            [numpy]trouver les sommets

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown