Bonjour à tous!

Voilas, je suis tout nouveau sur ce forum et j'ai décidé d'apprendre le python, (je dois vous dire que c'est pas facile tous les jours...) Bon je vous explique le problème que j'ai en ce moment. J'ai un fichier texte avec 3 colonnes : x , y et une valeur d'intensité z.

Chaque colonnes est de taille m x n et peut donc être représentée comme une matrice rectangle de taille mxn. J'aimerai pouvoir reconstruire ce genre de matrice afin d'afficher d'une manière "jolie", comme pour une image, mes valeurs d'intensité z grâce à la fonction pylab.imshow, plutôt qu'avec scatter (qui ne produit pas un résultat uniforme mais seulement de gros rond).

Comme je ne connais pas à priori les tailles m et n, j'ai eu l'idée de construire deux matrices X et Y avec meshgrid et pour chaques couples (x,y) que je lis dans mes matrices X et Y, je puisse associer ma valeurs d'intensité z lus dans mon vecteur colonne pour le couple (x,y) correspondant. Est-ce que vous me suivez?

Le code que j'ai essayé de mettre en place ressemble à cela:

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
 
import numpy as np
import pylab as pl
 
x=np.array(x) #mes vecteur colonnes sont definis dans les trois lignes qui suivent
y = np.array(y)
z = np.array(z)
 
X,Y=np.meshgrid(x,y)#ici je construit mes grandes matrice
Z=np
 
for i in range(len(X)):
    for j in range(len(Y)):
            if X[i,j]==x[i]
               if Y[i,j]==y[j]
                Z[i,j] = z[j]#ici j'attribus donc mes valeurs d'intensité à l'index i,j dans ma matrice Z qui sera mon image
Mais bon je dois vous avouer que ce n'est pas très optimal pour python (boucle for) et que c'est très long...

Du coup est-ce que vous auriez des indications pour m'aiguiller dans la rédaction de manière matricielle ? Je me doute que je dois pouvoir m'affranchir de ces boucles? Ou peut être d'autre fonctions à utiliser plus simple existent?

Merci d'avance à tous pour vos réponses!

Bonne journée !