[Numpy-discussion] Reading and Comparing Two Files

Friedrich Romstedt friedrichromstedt at gmail.com
Sun Feb 28 07:24:36 EST 2010


2010/2/28 Robert Love <rblove_lists at comcast.net>:
> 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[0], line[1],  line[2]])

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
    pass

complete = numpy.hstack(data_5x5, data_8x8)  # If data_5x5.shape[0] ==
data_8x8.shape[0], i.e., same number of rows.
for line in complete:
    # complete is comprised of concatenated row vectors.
    pass

for idx in xrange(0, min(data_5x5.shape[0], data_8x8.shape[0])):
    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.

...

Friedrich



More information about the NumPy-Discussion mailing list