On 17/02/2012 02:53, Elaina Ann Hyde wrote:
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

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

I've found this http://comments.gmane.org/gmane.comp.python.tutor/72882.

HTH.

--
Cheers.

Mark Lawrence.

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to