Re: copy a numpy array

2008-01-09 Thread Francesco Guerrieri
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

2008-01-08 Thread jimgardener
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

2008-01-08 Thread Francesco Guerrieri
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

2008-01-08 Thread gsal
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

2008-01-08 Thread jimgardener
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