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