[Numpy-discussion] strange behavior of variable

Sudheer Joseph sudheer.joseph at yahoo.com
Sun Aug 18 06:05:33 EDT 2013


Tank you,
It worked fine,
with best regards,
Sudheer

From: Nathaniel Smith <njs at pobox.com>

To: Discussion of Numerical Python <numpy-discussion at scipy.org> 
>Sent: Sunday, 18 August 2013 3:01 PM
>Subject: Re: [Numpy-discussion] strange behavior of variable
> 
>
>
>Try:
>np.argsort(a)[-n:]
>-n
>On 18 Aug 2013 10:10, "Sudheer Joseph" <sudheer.joseph at yahoo.com> wrote:
>
>
>>
>> 
>>However, I was looking for the indices of the biggest 3 numbers which can be used to find corresponding values in another vector, which made me to write the function. Is there a smarter way for getting indices?
>>with best regards,
>>Sudheer
>>Thanks a lot Eric,
>>
>>                    Here comes the smartness of python!!, I am just climbing the bottom steps...
>>>with best regards,
>>>Sudheer
>>>
>>>
>>>
>>> 
>>>***************************************************************
>>>Sudheer Joseph 
>>>Indian National Centre for Ocean Information Services
>>>Ministry of Earth Sciences, Govt. of India
>>>POST BOX NO: 21, IDA Jeedeemetla P.O.
>>>Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55
>>>Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
>>>Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
>>>E-mail:sjo.India at gmail.com;sudheer.joseph at yahoo.com
>>>Web- http://oppamthadathil.tripod.com
>>>***************************************************************
>>>
>>>
>>>
>>>>________________________________
>>>> From: Eric Firing <efiring at hawaii.edu>
>>>>To: numpy-discussion at scipy.org 
>>>>Sent: Sunday, 18 August 2013 1:57 PM
>>>>Subject: Re: [Numpy-discussion] strange behavior of variable
>>>> 
>>>>
>>>>On 2013/08/17 9:49 PM, Sudheer Joseph wrote:
>>>>>
 Hi,
>>>>>           I have defined a small function to find the n maximum values
>>>>> of an array as below. With in it I assign the input array to a second
>>>>> array and temporarily make the array location after first iteration as
>>>>> nan. I expected this temporary change to be limited to the second
>>>>> variable. However my initial variable gets modified. Can any one through
>>>>> some light to what is happening here?. In case of matlab this logic works.
>>>>>
>>>>> ######
>>>>> #FUNCTION maxn
>>>>> ######
>>>>> import numpy as np
>>>>> def max_n(a,n):
>>>>>       b=a
>>>>
>>>>This is not making "b" a copy of "a", it is simply making it an alias 
>>>>for it.  To make it a copy you could use "b = a[:]", or "b = a.copy()"
>>>>
>>>>It sounds like you don't really need a function, however.  Try this:
>>>>
>>>># test data:
>>>>a = np.random.randn(10)
>>>>n = 2
>>>>
>>>># One-line
 solution:
>>>>biggest_n = np.sort(a)[-n:]
>>>>
>>>>print a
>>>>print biggest_n
>>>>
>>>>If you want them ordered from largest to smallest, just reverse the list:
>>>>
>>>>biggest_n = biggest_n[::-1]
>>>>
>>>>Eric
>>>>
>>>>
>>>>>       result=[]
>>>>>       for i in np.arange(1,n+1):
>>>>>           mxidx=np.where(b==max(b))
>>>>>           result.append(mxidx)
>>>>>           b[mxidx]=np.nan
>>>>>       result=np.ravel(result)
>>>>>       return(result)
>>>>>
>>>>> ### TEST
>>>>> In [8]: x=np.arange(float(0),10)
>>>>>
>>>>> In [9]: max
>>>>> max    max_n
>>>>>
>>>>> In [9]: max_n(x,2)
>>>>> Out[9]: array([9, 8])
>>>>>
>>>>> In [10]: x
>>>>> Out[10]: array([  0.,   1.,   2.,   3.,   4.,   5.,   6.,   7.,  nan,  nan])
>>>>>
 ***************************************************************
>>>>> Sudheer Joseph
>>>>> Indian National Centre for Ocean Information Services
>>>>> Ministry of Earth Sciences, Govt. of India
>>>>> POST BOX NO: 21, IDA Jeedeemetla P.O.
>>>>> Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55
>>>>> Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
>>>>> Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
>>>>> E-mail:sjo.India at gmail.com;sudheer.joseph at yahoo.com
>>>>> Web- http://oppamthadathil.tripod.com
>>>>> ***************************************************************
>>>>>
>>>>>
>>>>>
 _______________________________________________
>>>>> NumPy-Discussion mailing list
>>>>> NumPy-Discussion at scipy.org
>>>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>>>
>>>>
>>>>_______________________________________________
>>>>NumPy-Discussion mailing list
>>>>NumPy-Discussion at scipy.org
>>>>http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>>
>>>>
>>>>
>>>_______________________________________________
>>>NumPy-Discussion
 mailing list
>>>NumPy-Discussion at scipy.org
>>>http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>
>>>
>>>
>>_______________________________________________
>>NumPy-Discussion mailing list
>>NumPy-Discussion at scipy.org
>>http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>>
>_______________________________________________
>NumPy-Discussion mailing list
>NumPy-Discussion at scipy.org
>http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130818/521f736f/attachment.html>


More information about the NumPy-Discussion mailing list