Bonjour,
je cale sur ce truc : il faut que je transforme cet array RAW en un array 3d comportant les elements z aux coordonnées x et y.
donc a partir de :
il me faudrait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 RAW = [\ [1,1,10],\ [1,2,20],\ [2,1,30],\ [2,2,40],\ [1,1,110],\ [1,2,120],\ [2,1,130],\ [2,2,140],\ ]
J'ai essayé avec des append, des insert, des concatenate, mais ca ne le fait pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 X = [1,2] Y = [1,2] Z = [ [[10,110], [20,120]], [[30,130], [40,140]], ]
ça par exemple, ça me retourne : "ValueError: output operand requires a reduction, but reduction is not enabled"
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 #!/usr/bin/python import os import sys from pylab import * import numpy as np import time import datetime RAW = [\ [1,1,10],\ [1,2,20],\ [2,1,30],\ [2,2,40],\ [1,1,110],\ [1,2,120],\ [2,1,130],\ [2,2,140],\ ] RAW = np.transpose(RAW) X = np.unique(RAW[0]) Y = np.unique(RAW[1]) Z = np.zeros((len(X),len(Y),1)) print Z RAW = np.transpose(RAW) for raw in RAW: x = raw[0] y = raw[1] z = raw[2] iX = np.where(X==x)[0][0] iY = np.where(Y==y)[0][0] print Z[iX,iY] print np.append(Z[iX,iY],z) Z[iX,iY] = np.append(Z[iX,iY],z)
c'est un exemple simplifié, car a la base, mon tableau RAW n'est pas nécessairement trié (et beaucoup plus gros).
Merci pour votre aide !
Partager