On Fri, Feb 17, 2012 at 1:41 PM, Rohan Sachdeva <rsach...@usc.edu> wrote:

> The way I would do this is to put all of the differences in a list then
> take the maximum of the list. So..
>
> a = Vmatch3_1 - Vmatch3_2
> b = Vmatch3_1 - Vmatch3_3
> c = Vmatch3_3 - Vmatch3_2
>
> Vhel_fdiff3=max([a,b,c])
>
> That should work. a,b,c are pretty bad variable names...
>
> Rohan
>
> On Thu, Feb 16, 2012 at 5:04 PM, Elaina Ann Hyde <elainah...@gmail.com>wrote:
>
>> Hello all,
>>    I am still scripting away and have reached my next quandry, this one
>> is much simpler than the last, basically I read in a file with several
>> columns.
>> Vmatch3_1=dat[col1]
>> Vmatch3_2=dat[col2]
>> Vmatch3_3=dat[col3]
>> Vdav=5.0
>> Vhel_fdiff3=max(abs(Vmatch3_1 - Vmatch3_2),abs(Vmatch3_1 -
>> Vmatch3_3),abs(Vmatch3_3 - Vmatch3_2))
>> ----------------
>> What I would like this to return is the maximum difference in each case,
>> so I end up with one column which contains only the largest differences.
>> now I use this to write the condition:
>>
>> with_v1_3=(Vhel_fdiff3 >= Vdav)
>>
>> I know the condition works and plots if
>>
>>  Vhel_fdiff3=(Vmatch3_1 - Vmatch3_2)
>>
>> for example, and I know this syntax would work if it was numbers instead
>> of columns.
>> >>max(abs(1-2),abs(3-7),abs(2-4))
>> >>4
>>
>> The error is:
>> -----------------------
>> Traceback (most recent call last):
>>   File "double_plot.py", line 109, in <module>
>>     Vhel_fdiff3=max(abs(Vmatch3_1 - Vmatch3_2),abs(Vmatch3_1 -
>> Vmatch3_3),abs(Vmatch3_3 - Vmatch3_2))
>> ValueError: The truth value of an array with more than one element is
>> ambiguous. Use a.any() or a.all()
>> -----------------
>> So it can't handle the fact that it's columns of numbers and not single
>> numbers, so my question is, can I solve this without doing a loop around
>> it... use numpy, or some other function instead?
>> I've been searching around and haven't found any good ways forward so I
>> thought one of you might know.  Thanks
>> ~Elaina
>>
>> --
>> PhD Candidate
>> Department of Physics and Astronomy
>> Faculty of Science
>> Macquarie University
>> North Ryde, NSW 2109, Australia
>>
>> _______________________________________________
>> Tutor maillist  -  Tutor@python.org
>> To unsubscribe or change subscription options:
>> http://mail.python.org/mailman/listinfo/tutor
>>
>>
>

------------------
Thanks for the replies so far.  I don't think that Rohan's idea solves the
numbers versus columns issue.  If I run it I get
-------------------
Traceback (most recent call last):
  File "double_plot.py", line 112, in <module>
    Vhel_fdiff3=max(a,b,c)
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()
---------------------
which is just the same error, I looked at the forums and the link suggested
and I guess maybe my problem is trickier than I first thought!
~Elaina

-- 
PhD Candidate
Department of Physics and Astronomy
Faculty of Science
Macquarie University
North Ryde, NSW 2109, Australia
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to