On 01/05/2017 01:10 PM, Peter Otten wrote:
S. P. Molnar wrote:

I have just started attempting programming in Python and am using Spyder
with Python 3.5.2 on a Linux platform. (I first started programing in
Fortran II using punched paper tape.  Yes, am a rather elderly . .  .).

I have bumbled through, what I foolishly thought was a simple problem, a
short program to change frequency to wavelength for a plot of
ultraviolet spectra.  I have attached a pdf of the program.

During my attempt at programming I have printed results at various
stages.  Printing wavelength = [row[0] for row in data] gives me 25000
as the first frequency in the wavelength list (the corresponding
wavelength is 400).

To change the frequency to wave length I did the following:


p=1/1e7
wave_length = p*np.array(frequency)

(The relationship between wavelength and frequency is: wavelength =
1.0e7/frequency, where 1e7 is the speed of light)


Apparently whhat I have managed to do is divide each element of the
frequency list by 1/1e7.

What I want to do is divide 1e7 by each element of the freqquency list.

How di I do this?
Since you are using numpy anyway I'd put the frequencies into a numpy.array
as soon as possible:

import numpy
frequencies = numpy.array([25000, 1250, 400])
Because of numpy's "broadcasting" you can mix skalars and vectors as you
already tried -- and with the right formula, lamda = c / nu, you get the
correct result:

speed_of_light = 1e7
wavelengths = speed_of_light / frequencies
wavelengths
array([   400.,   8000.,  25000.])

The equivalent list comprehension in plain Python looks like this:

frequencies = [25000, 1250, 400]
wavelengths = [speed_of_light/freq for freq in frequencies]
wavelengths
[400.0, 8000.0, 25000.0]

Please keep in mind that many, many hyears ago I learned the ole
arithmetic
That hasn't changed and is honoured by numpy; you were probably confused by
the new tool ;)

and an not trying to start a flame war.
Thanks in advance for the assistance tha I am sure will be most helpful.

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

Somehow I KNEW THIS WAS THE LIWST TO Ask.

Thanks very much.

--
Stephen P. Molnar, Ph.D.        Life is a fuzzy set
www.Molecular-Modeling.net      Stochastic and multivariate
(614)312-7528 (c)
Skype:  smolnar1

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

Reply via email to