On Thu, May 6, 2010 at 10:34 AM, Keith Goodman
On Thu, May 6, 2010 at 10:25 AM, T J
wrote: Hi,
Is there a way to sort the columns in an array? I need to sort it so that I can easily go through and keep only the unique columns. ndarray.sort(axis=1) doesn't do what I want as it destroys the relative ordering between the various columns. For example, I would like:
[[2,1,3], [3,5,1], [0,3,1]]
to go to:
[[1,2,3], [5,3,1], [3,0,1]]
(swap the first and second columns). So I want to treat the columns as objects and sort them. I can do this if I convert to a python list, but I was hoping to avoid doing that because I ultimately need to do element-wise bitwise operations.
Assuming you want to sort columns by the values in the first row:
Not quite. I want the columns treated as objects...not as the first element in the column. A better example:
x array([[3, 2, 2, 2, 2], [2, 2, 0, 2, 2], [0, 1, 1, 0, 1], [5, 5, 3, 0, 5]])
desired array([[2, 2, 2, 2, 3], [0, 2, 2, 2, 2], [1, 0, 1, 1, 0], [3, 0, 5, 5, 5]])
what_is_really_desired array([0,1,2,3]) # signifying unique columns