Find unique rows in numpy.array

I need to find unique rows in a numpy.array.

For example:

    >>> a # I have
    array([[1, 1, 1, 0, 0, 0],
           [0, 1, 1, 1, 0, 0],
           [0, 1, 1, 1, 0, 0],
           [1, 1, 1, 0, 0, 0],
           [1, 1, 1, 1, 1, 0]])
    >>> new_a # I want to get to
    array([[1, 1, 1, 0, 0, 0],
           [0, 1, 1, 1, 0, 0],
           [1, 1, 1, 1, 1, 0]])

I know that i can create a set and loop over the array, but I am looking for an efficient pure numpy solution. I believe that there is a way to set data type to void and then I could just use numpy.unique, but I couldn't figure out how to make it work.

As of NumPy 1.13, one can simply choose the axis for selection of unique values in any N-dim array. To get unique rows, one can do:

unique_rows = np.unique(original_array, axis=0)

From: stackoverflow.com/q/16970982