[SciPy-user] Arrayfns in numpy?
Alok Singhal
as8ca at virginia.edu
Tue Mar 6 08:19:20 EST 2007
On 06/03/07: 10:54, Stephen Kelly wrote:
> I don't want to depend on scipy for a small task like this. I want to keep
> dependencies small.
>
> I looked at the searchsorted function, but don't see how it would be
> useful.
Given a sorted arry a, and some values v,
ind = searchsorted(a, v)
returns ind such that a[ind[i]] > v[i] > a[ind[i]-1] (I hope I got
that right :-) ).
> My data is not regularly spaced. It is X-ray diffraction data in
> which each intensity has been shifted slightly. I am currently using
> arrayfns from Numeric to get data with regular spacing. Could you give
> more information on how to interpolate the data? I don't know where to
> start.
Here is how I would go about it:
import numpy
# Test data (non-uniform spacing in x)
x = numpy.array([0.0, 3.5, 6.0, 10.0, 15.0, 25.0])
y = numpy.array([13.0, 6.0, -6.0, 0.0, 4.0, 18.0])
# The data values for which interpolation is required. xx[0] should
# be > x[0], and xx[-1] should be < x[-1]. Otherwise, undefined
# behavior.
xx = numpy.mgrid[0.5:25:0.5]
# High indices
hi = numpy.searchsorted(x, xx)
# Low indices
lo = hi - 1
slopes = (y[hi] - y[lo])/(x[hi] - x[lo])
# Interpolated data
yy = y[lo] + slopes*(xx - x[lo])
# To plot using matplotlib:
import pylab
pylab.plot(x, y, 'ro', xx, yy, 'b')
pylab.show()
> As an aside, here's some things in Numeric that aren't in numpy. Is this
> oversight, or are there no plans to implement them?
> 1. arrayfns module
> 2. UserArray module with UserArray class (comparible to UserDict,
> UserList).
I don't know the answer to that - maybe interpolation etc., are more
suited to be in a 'scientific library' than an 'array library', so the
creators of scipy/numpy moved the functionality of those modules to
scipy and removed the modules from numpy? I don't know what else
(except interpolation) did the UserArray class/module have, so I can't
say for sure.
-Alok
--
Alok Singhal * *
Graduate Student, dept. of Astronomy * * *
University of Virginia
http://www.astro.virginia.edu/~as8ca/ * *
More information about the SciPy-User
mailing list