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 :
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)   :(
Sauf que là, je n'ai bien sûr pas le format voulu (comme un array pur):
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 :
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
Merci à vous

Lg_53