I think you can create an array with a true value in the right spot as folows:
row = all( equal(a,b), 1 ) Then you can either find the row (but you already knew that one, as it is b) a[row] or the row index find(row==True) Mark On Aug 15, 11:53 am, Andy Cheesman <[EMAIL PROTECTED]> wrote: > Dear nice people > > I'm trying to match a row (b) within a large numpy array (a). My most > successful attempt is below > > hit = equal(b, a) > total_hits = add.reduce(hit, 1) > max_hit = argmax(total_hits, 0) > answer = a[max_hit] > > where ... > a = array([[ 0, 1, 2, 3], > [ 4, 5, 6, 7], > [ 8, 9, 10, 11], > [12, 13, 14, 15]]) > > b = array([8, 9, 10, 11]) > > I was wondering if people could suggest a possible more efficient route > as there seems to be numerous steps. > > Thanks > Andy > _______________________________________________ > Numpy-discussion mailing list > [EMAIL PROTECTED]://projects.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
