Heli wrote: [Please don't open a new thread for the same problem]
> I need to check whether two 2d numpy arrays have intersections and if so I > will need to have the cell indices of the intersection. > > By intersection, I exactly mean the intersection definition used in set > theory. > > I will give an example of what I need to do: > > a=[[0,1,2],[3,4,5],[6,7,8]] > b=[[0,1,2],[3,4,5]] > > I would like to check whether b is subset of a and then get the indices in > a where b matches. > > cellindices=[[True,True,True],[True,True,True],[False,False,False]] > > What is the best way to do this in numpy? Providing an example is an improvement over your previous post, but to me it's still not clear what you want. >>> functools.reduce(lambda x, y: x | y, (a == i for i in b.flatten())) array([[ True, True, True], [ True, True, True], [False, False, False]], dtype=bool) produces the desired result for the example input, but how do you want to handle repeating numbers as in >>> a = numpy.array([[0,1,2],[3,4,5],[3, 2, 1]]) >>> functools.reduce(lambda x, y: x | y, (a == i for i in b.flatten())) array([[ True, True, True], [ True, True, True], [ True, True, True]], dtype=bool) ? Try to be clear about your requirement, describe it in english and provide a bit of context. You might even write a solution that doesn't use numpy and ask for help in translating it. At the very least we need more/better examples. -- https://mail.python.org/mailman/listinfo/python-list