[Numpy-discussion] Reading and Comparing Two Files
Sun Feb 28 07:52:00 CST 2010
On Sun, Feb 28, 2010 at 7:24 AM, Friedrich Romstedt
> 2010/2/28 Robert Love <firstname.lastname@example.org>:
>> What is the efficient numpy way to compare data from two different files? For the nth line in each file I want to operate on the numbers. I've been using loadtxt()
>> data_5x5 = N.loadtxt("file5")
>> data_8x8 = N.loadtxt("file8")
>> for line in data_5x5:
>> pos5 = N.array([line, line, line])
If you just want to compare row by row when you already have the
arrays, you can just use numpy, e.g. based on first 3 columns:
(data_8x8[:,:3] == data_5x5[:,:3]).all(1)
but from your question it's not clear to me what you actually want to compare
> I believe there are several ways of doing that, and mine might not be
> the most efficient at all:
> for line5, line8 in zip(data_5x5, data_8x8):
> # line5 and line8 are row vectors of paired lines
> complete = numpy.hstack(data_5x5, data_8x8) # If data_5x5.shape ==
> data_8x8.shape, i.e., same number of rows.
> for line in complete:
> # complete is comprised of concatenated row vectors.
> for idx in xrange(0, min(data_5x5.shape, data_8x8.shape)):
> line5 = data_5x5[idx]
> line8 = data_8x8[idx]
> # Do sth with the vectors. Or:
> a1 = data_5x5[idx, (0, 1, 2)] # Extract items 0, 1, 2 of line idx
> of first file.
> a2 = data_8x8[idx, (0, 42)] # Extract items 0, 42 of line idx of
> second file.
> NumPy-Discussion mailing list
More information about the NumPy-Discussion