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 :
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],\
]
il me faudrait
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]],
]
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
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)
ça par exemple, ça me retourne : "ValueError: output operand requires a reduction, but reduction is not enabled"

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 !