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

Bibliothèques tierces Python Discussion :

Transformer une matrice colonne en matrice ligne


Sujet :

Bibliothèques tierces Python

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut Transformer une matrice colonne en matrice ligne
    Bonjour, je cherche à transformer une matrice en colonne en matrice ligne mais je ne trouve pas la fonction adéquate


    Merci par avance

    Bonne journée

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    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 239
    Points : 36 692
    Points
    36 692
    Par défaut
    Salut,

    Citation Envoyé par Leanaa Voir le message
    je cherche à transformer une matrice en colonne en matrice ligne mais je ne trouve pas la fonction adéquate
    Sous quelle forme est représentée ce que vous appelez "matrice"? Une liste de listes, un array numpy, autre?

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

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    il s'agit un numpy.ndarray

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    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 239
    Points : 36 692
    Points
    36 692
    Par défaut
    quid de numpy.ndarray.transpose()
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    Ca marche, merci

    Mais maintenant je dois mettre ma matrice en liste car sinon je ne peut pas faire de recherche à l’intérieur, donc en faite j'aurais pu la laisser en colonne (au moins maintenant je sait comment faire)

    Je fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in range (0,Mat.shape[1]):
        if Y[i]==83:
           frangeX = frangeX + 1
    et ça me met cette erreur :

    if Y[i]==83:
    ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    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 239
    Points : 36 692
    Points
    36 692
    Par défaut
    Salut,
    Citation Envoyé par Leanaa Voir le message
    Mais maintenant je dois mettre ma matrice en liste car sinon je ne peut pas faire de recherche à l’intérieur
    Parcourir les éléments de la matrice se fait avec .nditer, genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for x in np.nditer(array, options):
           ...
    Par contre, je ne vois pas ce que vous essayez de faire avec le code que vous montrez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in range (0,Mat.shape[1]):
        if Y[i]==83:
           frangeX = frangeX + 1
    D'où sort Y? ou est la matrice?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    Ma matrice est Y et je souhaite ajouter 1 à ma fonction frangeX lorsque Y = 83 (qui est la moyenne trouver dans une autre fonction) sur tout la largeur de la matrice Y

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    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 239
    Points : 36 692
    Points
    36 692
    Par défaut
    Salut,

    Citation Envoyé par Leanaa Voir le message
    Ma matrice est Y et je souhaite ajouter 1 à ma fonction frangeX lorsque Y = 83 (qui est la moyenne trouver dans une autre fonction) sur tout la largeur de la matrice Y
    En écrivant "frangeX = frangeX + 1", vous considérez frangeX est un "number" et non une fonction.
    Cela n'aide pas à comprendre ce que pourrait bien vouloir dire "ajouter 1 à la fonction frangeX" et encore moins comment réaliser la chose correspondante.

    Si Y est la matrice, Y[i] sera la ligne i => une liste de... et non un "nombre".
    Si vous avez calculé et stocké quelque part la moyenne de chaque ligne de Y, nous pourrions espérer une "colonne" / "liste" stockée dans une variable "meanY" telle que "meanY[i]" soit la moyenne de la colonne "i" de "Y".

    Ajouter 1 à je ne sais quoi lorsque la moyenne de la ligne est 83 n'a pas besoin d'itérer sur tous les éléments de Y, mais sur ceux de meanY qui est "sequence" simple i.e.:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for v in meanY:
         if v == 83:
            # ajouter 1 à je ne sais pas encore quoi
    De même meanY devrait pouvoir se calculer "simplement" via:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    length = len(Y[0])
    meanY = [ sum(z) / length for z in Y ]
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    Je dois compter des franges d'une bulle

    J'ai réussit à les détecter et j'obtiens une courbe sinusoïdale dont les valeurs sont dans la matrice Y, j'en est fait la moyenne appelé mean (environs 83.215) que j'ai convertie en nombres entier pour avoir 83, j'ai fait une matrice de cette moyenne rempli avec le nombre 83 de la taille de Y pour pouvoir tracer la droite moyenne sur la courbe.

    J'ai vérifier qu'il y avait bien des valeur Y = 83 dans la matrice

    Il faudrait maintenant que lorsque mean = Y s'ajoute +1 à frangeX (initialement j'ai imposer frangeX = 0), ainsi je pourrais lancer un calcul pour déterminer le diamètre de mes bulles.

    En espèrent avoir été plus clair...

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    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 239
    Points : 36 692
    Points
    36 692
    Par défaut
    Citation Envoyé par Leanaa Voir le message
    En espèrent avoir été plus clair...
    Si cela vous semble "clair", montrez nous comment vous le codez...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    "#### Ouverture de l'image ####"
     
    # Ouverture de l'image
    frange = Image.open('test3.jpg')
     
    # Convertion de l'image en matrice
    Mat = np.asarray(frange)
     
     
    "#### Tracer de la courbes représentant l'intensiter des franges ####"
     
    #Création d'une liste vide
    Y = []
     
    #Définition de l'ordonnée : calcule de l'intervalle : on commence par la valeur de départ de la séquence, 
    #    La valeur de fin de la séquence -1 de sorte que l'arrêt soit exclu, nombre 
    #    déchantillon à générer
    #Ici on commence à 0 puis sur la largeur de l'objet -1pixel de sorte que l'arrêt  
    #    soit exclu pour avoir autant d'échantillon que la taille de la largeur.
     
    X = np.linspace(0,Mat.shape[1]-1,Mat.shape[1])
     
     
    #Recherche du centre : taille de la hauteur de l'image / 2
    centre = Mat.shape[0]/2
     
     
    # Boucle commencant au pixel 0 finissant au bout de la largeur de l'objet
     
    for i in range (0,Mat.shape[1],1):
        #Ajout des valeur trouver sur le centre dans la liste Y qui correspondra 
        #     à l'intensiter des franges   
       Y.append(Mat[centre][i])
     
     
    # Convertion de la liste Y en matrice
    Y = np.array(Y)
     
    #Calcul de la moyenne de Y
    moy = np.average(Y)
     
     
    "#### Tracer de la moyenne ####"
     
    # Création d'une liste vide
    Mean = []
     
    # le liste de Mean est mis à la même taille que X
    shapeMean=np.shape(X)
    U = np.zeros(shapeMean)
     
    # Boucle commencant au pixel 0 finissant au bout de la largeur de l'objet
    for i in range (0,Mat.shape[1],1):
        #Ajout de la moyenne à Mean
        Mean.append(moy)
     
    # Conversion de Mean en nombre décimal en nombre entier
    c=np.round(Mean)
    # Conversion de la liste Mean en matrice
    Mean = np.array(c)
     
     
    "#### Comptage des franges ####"
     
    # initialement frangeX = 0 car on n'a pas encore de frange 
    frangeX = 0
     
    # Boucle commençant au pixel 0 finissant au bout de la largeur de l'objet
    for i in range (0,Mat.shape[1]):
        if Y[i]==83:
           frangeX = frangeX + 1
     
     
    # frangeX /2 car le programme compte le front montant et déscendant de la même sinusoïde
    frangeX = frangeX/2
     
     
    "#### Affichage de l'image et des courbes ####"
     
    fig1 = plt.figure(1)
    ax1 = fig1.add_subplot(1,2,1)
    ax1.imshow(frange, cmap=plt.cm.gray)
    ax2 = fig1.add_subplot(1,2,2)
    ax2.plot(X,Y,'r-')
    ax2.plot(X,Mean,'g-')

  12. #12
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    Je ne peut pas faire plus clair..

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    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 239
    Points : 36 692
    Points
    36 692
    Par défaut
    Citation Envoyé par Leanaa Voir le message
    Je ne peut pas faire plus clair..
    Regardez le nombre d'objets associés à "moyenne" dans votre code: X, moy, Mean, shapeMean,...
    Relisez les explications exprimées en phrases écrites en "français" sur ce que vous attendez que çà fasse.
    La description en français me semble aussi embrouillée que le code Python...

    last but not least: quel était la question posée: "Transformer une matrice colonne en matrice ligne".
    Après que je vous ai donné la réponse, vous dites:
    Ca marche, merci

    Mais maintenant je dois mettre ma matrice en liste car sinon je ne peut pas faire de recherche à l’intérieur, donc en faite j'aurais pu la laisser en colonne (au moins maintenant je sait comment faire)
    Si vous avez encore une idée trop vague de ce que vous voulez faire pour l'exprimer simplement, pas la peine d'essayer de coder quoi que ce soit.

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

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    Je ne suis pas programmatrice, je n'est pas le choix, je dois faire ce programme pour mon stage.

    J'ai une idée, je l'applique, je fait avec le peut de fonction informatique que je connait, je demande de l'aide, après je ne peut rien y faire si l'idée que j'ai n'est pas toujours la bonne ou la plus simple.

    Donc désoler de vous déranger avec mes questions, si vous penser que une petite étudiante ne vaut pas la peine d'être aider il ne faut pas gérer un forum qui propose de l'aide.

  15. #15
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    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 239
    Points : 36 692
    Points
    36 692
    Par défaut
    Donc désoler de vous déranger avec mes questions, si vous penser que une petite étudiante ne vaut pas la peine d'être aider il ne faut pas gérer un forum qui propose de l'aide.
    Le problème est qu'il n'y a pas de question juste un appel à l'aide.
    Ne pensez vous pas qu'il devrait plutôt être adressé à votre responsable de stage?

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

  16. #16
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    Ils ne font pas de programmation, c'est un sujet de secours car ma manip ne fonctionne pas.

  17. #17
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    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 239
    Points : 36 692
    Points
    36 692
    Par défaut
    la réponse est 42?
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  18. #18
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    ??

  19. #19
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    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 239
    Points : 36 692
    Points
    36 692
    Par défaut
    C'est la réponse à la question qui n'a pas été posée.
    d'après le "Le Guide du voyageur galactique".
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  20. #20
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    Merci pour votre sympathie, je saurais vous faire la pub qui va avec

Discussions similaires

  1. transformer une colonne txt en matrice
    Par helpme13 dans le forum MATLAB
    Réponses: 2
    Dernier message: 20/11/2013, 23h15
  2. Lien Target avec une cell colonne fixe mais ligne variable
    Par LimsWolf dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/08/2012, 17h27
  3. Transposer une variable colonne en variable ligne
    Par AlexFred dans le forum SAS Base
    Réponses: 4
    Dernier message: 05/10/2010, 19h59
  4. Transformer une longue colonne en deux colonnes
    Par zorooo dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 05/02/2010, 14h01
  5. Réponses: 6
    Dernier message: 03/07/2009, 10h32

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