[SciPy-User] [newbie] how to compare two datasets

Thøger Emil Juul Thorsen thoeger at fys.ku.dk
Tue Jul 13 09:37:04 EDT 2010


That sounds like a set of NumPy arrays is what you need.
You can simply import your dataset to an array and perform row- and
columnwise operations.

First I would do an interpolation of the real data, though I'd probably
use a cubic spline, but linear is fine too. The spline function  will
operate on a numpy array and return the mathematical object, *not* a new
array. This spline can then be evaluated in the depths for which you
have your model data.

An example of how it could be done would be:

modeldata = numpy.genfromtxt('modeled.data')
realdata = numpy.genfromtxt('real.data')


# Now say depth is the first column, and value is second:

tck = scipy.interpolate.splrep(realdata[:, 0], realdata[:, 1])
iplrealdata = scipy.interpolate.splev(modeldata[:, 0], tck)

#You will now have an interpolated value of the real data for every
#depth of the model data - done with a cubic spline.
#Linear interpolation would be done by, instead of doing splev, doing:

# Interpolate:
func = scipy.interpolate.interp1d(realdata[:, 0], realdata[:, 1])
# Evaluate:
iplrealdata = func(modeldata[:, 0])

Cheers; 

Emil


On Tue, 2010-07-13 at 07:00 +0000, ben h wrote:
> The datasets are borehole data - so they have borehole name, depth,
> and a value. 
> Each borehole has two datasets - one real, one modelled.
> I want to compare the values between them for each depth in modelled
> dataset (lower resolution / fewer samples).
> If there is no matching depth in real dataset I want to linearly
> interpolate between nearest values.
> Comparison to be quite simple at first, difference between values, and
> stats for entire set of differences. 
> 
> example data (depth, value):
> model:
> 0 15.5
> -10 17.0
> -20 18.5
> -30 20.0
> 
> real:
> 0 16.5
> -1 16.6
> -2 16.6
> ...
> -655 55.3
> 
> 
> Not having used python much, i don't know best data structure
> (dictionary? sequence? list?), or if there are helpful things in SciPy
> to help this come together (stats, methods for comparing datasets like
> these, linear interp methods?).
> 
> Looking for inspiration and pointers!
> 
> ben.
> 
> 
> ______________________________________________________________________
> Find it at CarPoint.com.au New, Used, Demo, Dealer or Private?
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user






More information about the SciPy-User mailing list