Bonjour,
Je débute avec Numpy et je crois ne pas avoir bien compris car je viens d'avoir une surprise !!
Je crée 2 arrays Numpy data_x et data_y de forme identique :
1 2 3
|
data_x = numpy.ndarray(shape =(10),dtype=np.float)
data_y = numpy.ndarray(shape =(10),dtype=np.float) |
dans data_x je mets 1.,2.,3. .....
data_x =[1.,2.,3.,4.,5.,6.,7.,8.,9.,10.]
ensuite je copie data_x dans data_y
Jusque là tout va bien ...
puis je change la dernière valeur de data_y
Et là oh!! stupeur, je découvre que la dernière valeur de data_x a aussi été changée
est ce que data_y = data_x crée une équivalence entre les 2 arrays?
y a til une fonction copy que je n'ai pas trouvée?
voici le code en entier :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import numpy as np
data_x = np.ndarray(shape =(10),dtype=np.float)
data_y = np.ndarray(shape =(10),dtype=np.float)
data_x =[1.,2.,3.,4.,5.,6.,7.,8.,9.,10.]
data_y = data_x
print "data_x"
print data_x # ici c'est ok
data_y [9] = 25.
print "data_x" # et là data_x [9] a été changé !!!
print data_x
print "data_y"
print data_y |
Si quelqu'un peut venir à mon secours j'apprécierai beaucoup.
Bonne soirée
Partager