Partage
  • Partager sur Facebook
  • Partager sur Twitter

fonction mean sur 1 a 3 listes max

    20 mai 2015 à 11:46:27

    Bonjour, j'ai un code sous matlab qui calcule la moyenne de chaque ligne d'une matrice, la fonction mean.

    J'aimerais retranscrire ce code sous python, avec des listes:

    superlist=[1,2,3,4,5,6,7,8,9]
    decoupe=len(filelist)
    
    size= int(len(superlist)/decoupe)
    
    list1=superlist[0:size]
    list2=superlist[size:size*2]
    list3=superlist[size*2:size*3]
    
    superlist2=[list1,list2,list3]
    moyenne=[]
    
    print(list1)
    print(list2)
    print(list3)
    
    for i in range(0,decoupe):
    	for j in range(0,decoupe):
    		sum+=superlist2[j][i]
    	moyenne.append(sum/decoupe)

    superlist est la liste contenant les données, je transforme la liste en plusieurs listes (le 3 peut changer est être égal a 1, 2 ou 3 en fonction du nombre de fichiers, mais se sera toujours un entier, et les 3 listes aurons toujours la mêmes tailles), chaque liste représente une colonne de la matrice sous matlab.

    La liste moyenne contient les données, j'aimerais savoir si il y avait moyen de faire un truc plus propre avec numpy ? sachant que je suis obliger de prendre les données dans superlist.

    -
    Edité par mathema 20 mai 2015 à 11:47:58

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      20 mai 2015 à 13:30:56

      Je ne sais pas ce que représente filelist

      Pour faire une moyenne, on peut utiliser les mots clés sum et len

      mean = sum(mylist)/len(mylist)
      

      le 3 peut changer est être égal a 1, 2 ou 3 en fonction du nombre de fichiers

      Est-ce que tu te relis quand tu postes sur un forum, pour moi étant donné que je ne sais pas de quoi ça parle, c'est totalement incompréhensible cette phrase ?

      Mais peut-être que c'est aussi pour cela que les difficultés apparaissent...

      Explique

      • Qu'est-ce que filelist
      • Pourquoi list1, list2 et list3 ? À quoi ils servent dans la résolution de ton problème ?

      Et si ça pouvait être dans un français correct, c'est la cerise sur le gâteau, car prendre du temps à créer un topic propre et clair, faut pas croire, c'est un grand gain de temps pour t'aider à résoudre ton problème !

      J'espère que le temps que j'aurais pris à t'expliquer tout ça, n'en sera pas une perte...

      -
      Edité par Anonyme 20 mai 2015 à 13:31:23

      • Partager sur Facebook
      • Partager sur Twitter
        20 mai 2015 à 13:57:15

        Merci pour ta réponse, pour faire simple, j'ai une liste de liste, qui représente un tableau 2D.

        J'aimerais calculer la moyenne de chaque ligne, et l'enregistrer dans une liste.

        -
        Edité par mathema 20 mai 2015 à 14:27:04

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          20 mai 2015 à 15:48:47

          Eh bien c'est mieux :)

          for sousListe in liste:
              print(sum(sousListe)/len(sousListe))
          

          Tu verras les moyennes de chaque sousListe apparaître... Pour ajouter une valeur dans une liste on utilise la méthode append

          liste.append(valeur)
          • Partager sur Facebook
          • Partager sur Twitter

          fonction mean sur 1 a 3 listes max

          × 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