Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Aplanir un histogramme sur Python




  1. #1
    Samuel9-14

    Aplanir un histogramme sur Python

    Bonjour,
    Je dispose d'une liste sur python qui est en fait un histogramme. C'est-à-dire que c'est une liste qui enregistre des nombres d'occurences d'événements. Typiquement, elle a une tête comme ça : HIST = [0 0 0 1 2 4 3...]
    Je dispose aussi de la liste des abscisses de cet histogramme. Disons que c'est ABSC = [1 2 3 4 5 6 7 ...]

    J'aimerais récupérer un vecteur de dimension sum(HIST)*len(ABSC) dont les composantes sont les valeurs de ABSC écrites autant de fois que l'événement apparait. Dans notre exemple, on aurait VECT = [4 5 5 6 6 6 6 7 7 7].

    La méthode bourrine et intuitive qui consiste à lire les valeurs une par une de HIST avec une boucle for fonctionne certainement mais je n'arrive pas à l'implémenter avec une seule boucle for. Or je pense (ou j'espère !) qu'il existe une méthode moins couteuse en temps et mieux optimisée.

    Merci d'avance !

    -----


  2. Publicité
  3. #2
    Samuel9-14

    Re : Aplanir un histogramme sur Python

    EDIT : je me permets un double-post pour faire un petit erratum au message précédent :
    J'aimerais récupérer un vecteur de dimension sum(HIST) dont...
    Je pense qu'il est important pour la bonne compréhension de ce que je souhaite !

  4. #3
    minushabens

    Re : Aplanir un histogramme sur Python

    abandonne python et passe à R

    > ABSC <- 1:7
    > HIST <- c(0,0,0,1,2,4,3)
    > rep(ABSC,HIST)
    [1] 4 5 5 6 6 6 6 7 7 7


  5. #4
    CM63

    Re : Aplanir un histogramme sur Python

    Citation Envoyé par minushabens Voir le message
    abandonne python et passe à R
    N'importe quoi! Manifestement tu ne connais pas Python alors ne donne pas des conseils idiots!

  6. #5
    minushabens

    Re : Aplanir un histogramme sur Python

    cependant mon conseil n'est pas si idiot que cela. S'il est vrai que l'on peut tout faire avec n'importe quel langage de programmation, on ne le fait pas aussi vite ni aussi proprement avec tous (et au fait je connais (un peu) Python).

  7. A voir en vidéo sur Futura
  8. #6
    Calvert

    Re : Aplanir un histogramme sur Python

    Salut,

    une solution, peut-être pas la plus optimale, est quelque chose comme :

    Code:
    In [28]: test = []
    
    In [29]: for i in range(len(H)):
        ...:     test += H[i]*[A[i]]
    
    In [30]: test
    Out[30]: [4, 5, 5, 6, 6, 6, 6, 7, 7, 7]

  9. #7
    Samuel9-14

    Re : Aplanir un histogramme sur Python

    J'avais essayé autre chose mais ta solution me semble meilleure que la mienne. Merci beaucoup

  10. Publicité

Discussions similaires

  1. [Python] subprocess, lancer un autre programme avec python
    Par Loupsio dans le forum Programmation et langages, Algorithmique
    Réponses: 10
    Dernier message: 30/11/2016, 18h56
  2. Python : tracer l'histogramme d'un dictionnaire
    Par barbbatruc dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 30/03/2016, 09h36
  3. en python le multi tache n'est pas possible alors pourquoi les threads existent sur python?
    Par docEmmettBrown dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 10/06/2015, 15h47
  4. Réponses: 3
    Dernier message: 01/01/2015, 16h46
  5. Aplanir une sphère
    Par bob denver dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 05/06/2007, 16h27