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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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. .....

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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
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