Bonjour à tous
J'ai besoin d'une structure d'array mais :
- qui offre aussi la possibilité de nommer les colonnes avec une extraction et une assignation à la manière d'un dictionnaire
- qui conserve la structure d'array (l'extraction standard, les opéreations arithmétiques que l'on peut faire dessus, etc ...)
Il y a bien la piste des arrays structurés comme là
https://docs.scipy.org/doc/numpy-1.1...asics.rec.html
ce qui donne :
Sauf que là, je n'ai bien sûr pas le format voulu (comme un array pur):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 A=np.array([(3.0,2.5)],dtype=[('C1',np.float),('C2',np.float)]) A['C1'] ### Affiche 3.0 A[0] ### Affiche (3.0,2.5) :(
A[0] donne (3.0,2.5) et non pas 3.0 comme je le voudrais.
Pire encore, je ne peux plus faire d'opérations, comme par exemple 0.5*A ...
J'ai essayé ensuite veinement de créer une classe dérivée de np.ndarray, mais là je m'enfonce dans les abysses de numpy et je n'y comprends pas grand chose... Je me tourne donc vers la communauté pour obtenir un peu d'aide.
Je résumé donc mon besoin (histoire d'être clair) : disposer d'une classe qui me permette d'écrire :
Merci à vous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 A=MaClasse( [3.0,2.5] , names=["C1","C2"] ) A[0] ## Affiche 3.0 A[:1] ## Affiche 3.0 A["C1"] ## Affiche 3.0 B=A B["C1"]=5.0 B[1]=7.0 ## B contient donc les valeurs : [5.0, 7.0] A+B 0.5*A A*B
Lg_53
Partager