Re: copy a numpy array
On Jan 9, 2008 6:35 AM, jimgardener [EMAIL PROTECTED] wrote: thanx guys for the replies need a little clarification srcarray=array([1.2,2.3,3.4,4.5,5.6]) destarray=array(srcarray,copy=False) then srcarray[2]=99.9 will cause the change to be reflected in both src and dest. doesn't that mean data is shared between both arrays? but if i do destarray=array(srcarray) or destarray=srcarray.copy() then the change in one array will not affect the other,meaning no data sharing ...want to know if my understanding is right jim You're right, I wrote too quickly and so I gave a wront information! sorry! :-) Just try the following: Apart from the copy method (which other have correctly pointed to), the correct version is simply: a = numpy.array([1,2]) b = numpy.array(a) and now try modifying one of them. bye Francesco -- http://mail.python.org/mailman/listinfo/python-list
copy a numpy array
hi, (i posted this to numpy discussion grp couple of days back ..but it fails to appear..)since it is needed for my work i would appreciate if anyone can help me with this question i have two ndarrays of 1000 elements each and want to copy all elements from srcarray to destarray srcarray=numpy.array( [3973334.8381791776,,382999.6748692277] ) arrsize=1000 destarray=zeros(arrsize) i copied all items from src to dest by using destarray[0:arrsize]=srcarray[0:arrsize] i don't know if this is the right way to do the copying. is there a better(efficient?) way ? jim -- http://mail.python.org/mailman/listinfo/python-list
Re: copy a numpy array
On Jan 8, 2008 4:32 PM, jimgardener [EMAIL PROTECTED] wrote: hi, (i posted this to numpy discussion grp couple of days back ..but it fails to appear..)since it is needed for my work i would appreciate if anyone can help me with this question i have two ndarrays of 1000 elements each and want to copy all elements from srcarray to destarray srcarray=numpy.array( [3973334.8381791776,,382999.6748692277] ) arrsize=1000 destarray=zeros(arrsize) i copied all items from src to dest by using destarray[0:arrsize]=srcarray[0:arrsize] i don't know if this is the right way to do the copying. is there a better(efficient?) way ? jim If you want the array to share the data, just use destarray = numpy.array(srcarray) Otherwise you can set the copy flag to False: destarray = numpy.array(srcarray,copy=False) bye, Francesco -- http://mail.python.org/mailman/listinfo/python-list
Re: copy a numpy array
I am new to python and everything related to it, and it so happens that I just went through the numpy tutorial last night, it is in http://www.scipy.org/Tentative_NumPy_Tutorial and the answer to your question is in section 3.7 Basically, if you want to make a (deep) copy of it: destarray = srcarray.copy() gsal -- http://mail.python.org/mailman/listinfo/python-list
Re: copy a numpy array
thanx guys for the replies need a little clarification srcarray=array([1.2,2.3,3.4,4.5,5.6]) destarray=array(srcarray,copy=False) then srcarray[2]=99.9 will cause the change to be reflected in both src and dest. doesn't that mean data is shared between both arrays? but if i do destarray=array(srcarray) or destarray=srcarray.copy() then the change in one array will not affect the other,meaning no data sharing ...want to know if my understanding is right jim -- http://mail.python.org/mailman/listinfo/python-list