[Numpy-discussion] Finding a row match within a numpy array
markbak at gmail.com
Wed Aug 15 06:59:48 EDT 2007
Oops, 'find' is in pylab (matplotlib).
I guess in numpy you have to use 'where', which does almost the same,
but it returns a Tuple.
Is there a function that is more like the find in matplotlib?
On Aug 15, 12:26 pm, Andy Cheesman <Andy.chees... at bristol.ac.uk>
> Thanks for the speedy response but where can I locate the find function
> as it isn't in numpy.
> mark wrote:
> > 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 <Andy.chees... at bristol.ac.uk>
> > 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
> >> Numpy-discuss... at scipy.orghttp://projects.scipy.org/mailman/listinfo/numpy-discussion
> > _______________________________________________
> > Numpy-discussion mailing list
> > Numpy-discuss... at scipy.org
> Numpy-discussion mailing list
> Numpy-discuss... at scipy.orghttp://projects.scipy.org/mailman/listinfo/numpy-discussion
More information about the NumPy-Discussion